Widziałem to często w kodzie, nawet vim zaznacza to jako specjalny przypadek. #TODOi #FIXMEczy dwa inne znaczniki poprawek wyróżniają vim, ale co to #XXXznaczy?
Widziałem to często w kodzie, nawet vim zaznacza to jako specjalny przypadek. #TODOi #FIXMEczy dwa inne znaczniki poprawek wyróżniają vim, ale co to #XXXznaczy?
Odpowiedzi:
XXXw komentarzu jest zwykle ostrzeżeniem. Mogłoby być:
Często wolałem bardziej opisowe tagi, takie jak FIXMElub TODOlub HACK.XXXjest 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 ...
TODOlub XXXzamiast 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 ( NOTEi XXX) są używane w celach informacyjnych i nie są wymagane żadne działania. Podczas ostatnich trzech ( FIXME, BUGi TODO) wymagają działania. HACKjest 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
FIXMEiXXXjest trudny.
XXXwydaje się być bardziej powszechny, ale znacznie mniej opisowy.
PonadtoXXXjest użytecznym symbolem zastępczym w fragmencie kodu
o nieznanej wartości.Taka
FIXMEjest preferowana pisownia.
Słońce to mówiXXXiFIXMEsą nieco inne, co dajeXXXwię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, XXXitd. Używam go codziennie, kiedy nie pamiętam dokładnie co jeden z tagami kod oznacza.
Używam, XXXponieważ ł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 FIXMEjest dla programisty i HACKdla opiekuna,XXX jest dla użytkownika.
Na przykład, jeśli zignorujesz XXXi 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 FIXMEpoczujesz się godny po prostu naprawić kod, aby działał. A ponieważ HACKmożesz nie mieć lepszego wyboru, nawet jeśli go nie używasz.
Jeśli pisałeś XXXna 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 FIXMElub TODOzamiast 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.