Widziałem to wiele w kodzie, nawet vim zaznacza to jako specjalny przypadek. #TODO
i #FIXME
są dwoma innymi znacznikami poprawek vim highlights, ale co oznacza #XXX
?Jakie jest znaczenie #XXX w komentarzach do kodu?
Odpowiedz
XXX
w komentarzu jest zwykle heads-up. Może to być:
- Coś, co nie zostało całkowicie zaimplementowane.
- Coś, co powinno zostać naprawione później.
- Podświetlanie możliwego problemu.
- Coś, czego nie jesteś pewien, pytanie.
ja często preferowane tag bardziej opisową jak FIXME
lub TODO
lub HACK
. XXX
jest często używany jako haczyk dla powyższych.
Wyszukiwanie "XXX" na FreeBSD code cross reference jest dobrym przykładem wielu zastosowań. Istnieją tysiące ...
Co zabawne, używam tego na własną rękę. XXX lub #XXX zasadniczo wywołuje kompilator i przypomina mi, żebym wrócił do czegoś. Ogólnie referencje wskaźnika lub nieznana wcześniej wartość lub nazwa zmiennej. – bobby
Potwierdziło to moje oryginalne przypuszczenie. Jest to po prostu znacznik "catch all", który wskazuje innym programistom na podkreślenie tego komentarza jako czegoś, na co warto zwrócić uwagę. –
Prawdopodobnie chodzi o przypadki, w których nie wiesz, jak sobie z tym poradzić.
Sprawdź to: List view of TODO/FIXME/XXX/HACK statements
alt text http://editra-plugins.googlecode.com/svn/wiki/images/commentbrowser/cb_screenshot.PNG
Niektóre notatki od June 2005 Python Enhancement Proposal that was rejected.
Wybór między
FIXME
iXXX
jest trudny.
XXX
wydaje się być bardziej powszechne, ale znacznie mniej opisowe.
PonadtoXXX
jest przydatnym elementem zastępczym w kodzie
o wartości nieznanej.Tak więc preferowana jest pisownia
FIXME
.
Słońce mówi, żeXXX
iFIXME
są nieco inne, co dajeXXX
wyższe nasilenie.
Jednak z dziesięcioleciami chaosu na ten temat i zbyt wieloma milionami twórców, którzy nie będą pod wpływem Sun, łatwo można słusznie nazwać je synonimami.
PEP Rozpoczynające się,
PEP ten został odrzucony. Chociaż społeczność może być zainteresowana, nie ma potrzeby, aby biblioteka standardowa była zgodna z tym standardem.
...
Jakie są Codetags?
Programiści stosują powszechnie konwencje znaczników ad hoc, aby wyświetlać jako przypomnienia sekcji kodu, które wymagają bliższej inspekcji lub przeglądu . Przykłady znaczników obejmują:
FIXME
,TODO
,XXX
,BUG
, ale jest ich wiele w powszechnym użyciu w istniejącym oprogramowaniu. Takie oznaczenia będą odtąd nazywane codetags. Te kodeki mogą pojawić się w kodzie aplikacji, testach jednostkowych, skryptach, ogólnej dokumentacji lub tam, gdzie jest to odpowiednie.
PEP to interesująca lektura.
Symbol zastępczy, zwykle co oznacza kod się odnosi, to:
- brzydki
- Scary
- Magia
lub gorzej.
dlaczego tak jest? Myślę, że #hack jest bardziej odpowiedni. Z własnego doświadczenia i innej odpowiedzi wynika, że jest to "ogólne spojrzenie na mnie". –
Używam XXX
, ponieważ łatwiej jest pisać niż TODO
.
XXX
jest na czas, gdy się spieszysz i wróci do tego sam.
TODO
jest na czas, gdy trzeba go przekazać komuś innemu.
XXX oznacza "Spieszę się i wrócę do tego samego" TODO oznacza "Jest to oficjalna część przyszłej prośby o zaległości zostanie przypisany komuś innemu. " To są dosłowne znaczenia. –
A w których RFC są to "dosłowne znaczenia"? Czy jest tam jakieś inne odniesienie? – Randall
@Randall: "cytowanie"? Przepraszam, to tylko moje zrozumienie po przeczytaniu dużej ilości kodu. –
NOTE
: Opis działania kodu (gdy nie jest to oczywiste).XXX
: Ostrzeżenie przed możliwymi pułapkami, może być używane jakoNOTE:XXX:
.HACK
: Niezbyt dobrze napisany lub źle sformułowany kod do obejścia problemu/błędu. Powinien być używany jakoHACK:FIXME:
.FIXME
: To działa, ale można to zrobić lepiej. (zazwyczaj kod napisany w pośpiechu, który wymaga przepisania).BUG
: Tutaj jest problem.TODO
: Nie ma problemu, ale kod dodatków musi zostać zapisany, zwykle gdy coś pomijasz.
Przynajmniej tak mnie uczono na temat tych tagów. Zasadniczo pierwsze dwa (NOTE
i XXX
) są używane w celach informacyjnych i żadne działanie nie jest wymagane. Podczas gdy ostatnie trzy (FIXME
, BUG
i i) wymagają działania. HACK
jest gdzieś pośrodku (i rzadko kiedy używam?).
Dobra lista. Lubię też 'LAZY' (nie tak krytyczny jak FIXME lub HACK) i' OCD' (znany zbyt intensywny). –
XXX jest skrótem od caveat, który różni się nieco od NOTE, ale jest dość podobny do HACK. Może to być błąd w używanej bibliotece/kodzie strony trzeciej, a kod z // XXX: wskazuje, że jest to obejście z powodu błędu w kodzie strony trzeciej lub może oznaczać "ostrożność" dla kogoś szukającego/modyfikującego kod wskazujący, dlaczego coś jest wykonane w określony sposób, który w przeciwnym razie może wydawać się nieprawidłowy/nieelegancki w pierwszym wyglądzie.HACK jest ogólnym terminem oznaczającym obejście problemu, który może występować zarówno we własnej bazie kodu, jak i bibliotece strony trzeciej.
Wierzę, że podczas gdy FIXME
jest dla programisty, a HACK
jest dla opiekuna, XXX
jest dla użytkownika.
Na przykład, jeśli zignorować XXX
i wywołać tę funkcję w innym miejscu, bez zrozumienia, jak to działa, coś nieoczekiwanego może się zdarzyć, a osoba zajmująca się tą kwestią będzie nieszczęśliwy (przynajmniej ten, który dodał XXX
tak myśli). Możesz myśleć, że problem zniknie, jeśli po prostu nie użyjesz tej funkcji.
Ale dla FIXME
poczujesz się godny, aby po prostu naprawić kod, aby działał. I dla HACK
, możesz nie mieć lepszego wyboru, nawet jeśli go nie używasz.
Jeśli napisałeś XXX
na swoim własnym kodzie i ktoś z niego korzystał, możesz czuć się nieszczęśliwy z przyczyn takich jak Ty, przepisać go całkowicie, a następnie zachowywać się w zupełnie inny sposób, a ty złamałeś czyjś kod. Ale jeśli zamiast tego opuścisz FIXME
lub TODO
, nie będziesz się tym przejmować.
Spójrz na PEP350. Objaśnia to wszystkie z TODO
, XXX
itp. Używam go codziennie, gdy nie pamiętam dokładnie, co oznacza jeden z tagów kodu.
Od (stary) Java code conventions:
Zastosowanie XXX w komentarzu do flagi coś, co jest fałszywe, ale działa. Użyj opcji FIXME, aby oznaczyć coś, co jest fałszywe i uszkodzone.
To jest "zły" TODO ... –
Pytanie dotyczy pytania o najlepsze kodeki lub komentarze w programowaniu w języku Python. Istnieje dyskusja Python Enhancement Proposal na ten temat. Pytanie zasługuje na zatrzymanie na SO. Mogło być jednak lepiej napisane. – nik