Widziałem to często w kodzie, nawet vim zaznacza to jako specjalny przypadek. #TODO
i #FIXME
czy dwa inne znaczniki poprawek wyróżniają vim, ale co to #XXX
znaczy?
Widziałem to często w kodzie, nawet vim zaznacza to jako specjalny przypadek. #TODO
i #FIXME
czy dwa inne znaczniki poprawek wyróżniają vim, ale co to #XXX
znaczy?
Odpowiedzi:
XXX
w komentarzu jest zwykle ostrzeżeniem. Mogłoby być:
Często wolałem bardziej opisowe tagi, takie jak FIXME
lub TODO
lub HACK
.XXX
jest często używany jako haczyk na wszystkie powyższe.
Wyszukiwanie „XXX” w odsyłaczu do kodu FreeBSD jest dobrym przykładem wielu zastosowań. Są tysiące ...
TODO
lub XXX
zamiast tego), ale tak bym to zinterpretował.
NOTE
: Opis działania kodu (gdy nie jest to oczywiste).XXX
: Ostrzeżenie o możliwych pułapkach, może być używane jako NOTE:XXX:
.HACK
: Niezbyt dobrze napisany lub zniekształcony kod, aby obejść problem / błąd. Powinien być używany jako HACK:FIXME:
.FIXME
: To w pewnym sensie działa, ale można to zrobić lepiej. (zwykle kod napisany w pośpiechu, który wymaga przepisania).BUG
: Wystąpił problem.TODO
: Nie ma problemu, ale trzeba napisać dodatkowy kod, zwykle gdy coś pomijasz.Tak przynajmniej mnie uczono o tych tagach. Zasadniczo pierwsze dwa ( NOTE
i XXX
) są używane w celach informacyjnych i nie są wymagane żadne działania. Podczas ostatnich trzech ( FIXME
, BUG
i TODO
) wymagają działania. HACK
jest gdzieś pomiędzy (i myślę, że prawie nigdy nie jest używany?).
LAZY
(nie tak krytyczne jak FIXME czy HACK) i OCD
(znane nadmierne inżynierii).
Kilka uwag z propozycji ulepszenia języka Python z czerwca 2005 r., Która została odrzucona .
Wybór między
FIXME
iXXX
jest trudny.
XXX
wydaje się być bardziej powszechny, ale znacznie mniej opisowy.
PonadtoXXX
jest użytecznym symbolem zastępczym w fragmencie kodu
o nieznanej wartości.Taka
FIXME
jest preferowana pisownia.
Słońce to mówiXXX
iFIXME
są nieco inne, co dajeXXX
większą surowość.
Jednak w obliczu dziesięcioleci chaosu na ten temat i zbyt wielu milionów
programistów, na których Sun nie wpłynie, łatwo jest nazwać je synonimami.
PEP zaczyna się od,
Ten PEP został odrzucony. Chociaż społeczność może być zainteresowana,
nie ma potrzeby dostosowywania biblioteki standardowej do tego standardu.
...
Co to są Codetags?
Programiści powszechnie używają konwencji ad-hoc w komentarzach do kodu, aby służyć jako przypomnienia o sekcjach kodu, które wymagają dokładniejszej kontroli lub przeglądu. Przykłady znaczników obejmują
FIXME
,TODO
,XXX
,BUG
, ale nie wiele więcej w powszechnym użyciu w istniejącym oprogramowaniem. Takie znaczniki będą odtąd nazywane tagami kodowymi . Te znaczniki kodów mogą pojawiać się w kodzie aplikacji, testach jednostkowych, skryptach, ogólnej dokumentacji lub gdziekolwiek jest to odpowiednie.
PEP to ciekawa lektura.
Spójrz na PEP350 . To wyjaśnia wszystko TODO
, XXX
itd. Używam go codziennie, kiedy nie pamiętam dokładnie co jeden z tagami kod oznacza.
Używam, XXX
ponieważ łatwiej jest pisać niżTODO
.
XXX
jest przeznaczona na sytuacje, w których się spieszysz i wrócisz do tego samodzielnie.
TODO
służy do przekazania go komuś innemu.
Prawdopodobnie dotyczy to przypadków, z którymi nie wiesz, jak sobie poradzić.
Zobacz to: Widok listy instrukcji TODO / FIXME / XXX / HACK
Ze (starych) konwencji kodu Java :
Użyj XXX w komentarzu, aby oznaczyć coś, co jest fałszywe, ale działa. Użyj FIXME, aby oznaczyć coś, co jest fałszywe i zepsute.
XXX jest skrótem od ostrzeżenia, które różni się nieco od NOTE, ale jest dość podobne do HACK. Może to być błąd w używanej bibliotece / kodzie innej firmy, a kod z // XXX: wskazuje, że jest to obejście z powodu błędu w kodzie innej firmy lub może oznaczać „ostrożność” dla kogoś, kto szuka / modyfikuje kod wskazujący, dlaczego coś jest zrobione w określony sposób, który w przeciwnym razie może wydawać się nieprawidłowy / nieelegancki na pierwszy rzut oka. HACK to termin ogólny oznaczający obejście problemu, który może występować w Twojej bazie kodu lub bibliotece innej firmy.
Uważam, że while FIXME
jest dla programisty i HACK
dla opiekuna,XXX
jest dla użytkownika.
Na przykład, jeśli zignorujesz XXX
i wywołasz tę funkcję w innym miejscu, nie rozumiejąc, jak ona działa, może się zdarzyć coś nieoczekiwanego, a osoba zajmująca się tym problemem będzie nieszczęśliwa (przynajmniej ta, która dodałaXXX
tak uważa). Możesz pomyśleć, że problem zniknie, jeśli po prostu nie użyjesz tej funkcji.
Ale FIXME
poczujesz się godny po prostu naprawić kod, aby działał. A ponieważ HACK
możesz nie mieć lepszego wyboru, nawet jeśli go nie używasz.
Jeśli pisałeś XXX
na swoim własnym kodzie i ktoś go użył, możesz czuć się nieszczęśliwy z powodów takich jak całkowite przepisanie tego kodu, a następnie zachowuje się on w zupełnie inny sposób i złamałeś kod kogoś innego. Ale jeśli zostawisz FIXME
lub TODO
zamiast tego, nie będziesz się tym przejmować.
Używam // XXX, więc nie muszę pamiętać numerów linii. Zamiast tego po prostu wyszukuję XXX, gdy chcę wrócić do tego fragmentu kodu.