Я багато бачив у коді, навіть vim відзначає це як особливий випадок. #TODO
і #FIXME
два інших маркери виправлення vim виділяються, але що це #XXX
означає?
Я багато бачив у коді, навіть vim відзначає це як особливий випадок. #TODO
і #FIXME
два інших маркери виправлення vim виділяються, але що це #XXX
означає?
Відповіді:
XXX
у коментарі, як правило, голова. Це може бути:
Я часто віддавав перевагу більш описовий тег , як FIXME
або TODO
або HACK
. XXX
часто використовується як спіймана все вищезазначене.
Пошук "XXX" за посиланням коду FreeBSD - хороший приклад багатьох застосувань. Є тисячі ...
TODO
або XXX
замість цього), але саме так я би його інтерпретував.
NOTE
: Опис того, як працює код (коли він не очевидний).XXX
: Попередження про можливі підводні камені, може використовуватися як NOTE:XXX:
.HACK
: Не дуже добре написаний або неправильно сформований код, щоб обійти проблему / помилку. Слід використовувати як HACK:FIXME:
.FIXME
: Це працює, начебто, але це можна зробити краще. (зазвичай код написаний поспіхом, який потребує переписування).BUG
: Тут є проблема.TODO
: Немає проблем, але додатковий код потрібно писати, як правило, коли ви щось пропускаєте.Принаймні так мене вчили про ці мітки. В основному перші два ( NOTE
і XXX
) використовуються для інформації, і ніяких дій не потрібно. У той час як останні три ( FIXME
, BUG
і TODO
) вимагають дій. HACK
знаходиться десь посеред (і я думаю, що майже ніколи не використовувався?).
LAZY
(не такі критичні, як FIXME або HACK) і OCD
(відоме перенапруження).
Деякі нотатки з пропозиції про розширення Python у червні 2005 року було відхилено .
Вибір між
FIXME
іXXX
складний.
XXX
видається більш поширеним, але набагато менш описовим.
Крім того,XXX
є корисним заповнювачем у фрагменті коду
, який має невідоме значення.Таким чином,
FIXME
є кращим написанням.
Sun каже, щоXXX
іFIXME
дещо відрізняються, надаючиXXX
більш високої чіткості.
Однак, незважаючи на десятиліття хаосу на цю тему, і занадто багато мільйонів
розробників, які не будуть впливати на Sun, легко їх правильно називати синонімами.
PEP починає,
Цей PEP був відхилений. Незважаючи на те, що громада може бути зацікавлена,
немає бажання привести стандартну бібліотеку у відповідність із цим стандартом.
...
Що таке кодекси?
Програмісти широко використовують спеціальні конвенції щодо розмітки коментарів до коду, щоб служити нагадуванням про розділи коду, які потребують більш детального огляду або перегляду. Приклади розмітки включають в себе
FIXME
,TODO
,XXX
,BUG
, але є ще багато в широкому використанні в існуючому програмному забезпеченні. Така розмітка відтепер буде називатися кодовими тегами . Ці кодові позначки можуть відображатися в коді програми, тестових одиницях, сценаріях, загальній документації або де це можливо.
PEP - цікаве прочитання.
Погляньте на PEP350 . Це пояснює все TODO
, XXX
і т. Д. Я використовую це щодня, коли не можу точно згадати, що означає один з тегів коду.
Я використовую, XXX
тому що це простіше, ніж набрати TODO
.
XXX
це коли ти поспішаєш і сам повернешся до цього.
TODO
це тоді, коли вам доведеться передати його комусь іншому.
Можливо, це стосується випадків, коли ви не знаєте, як впоратися.
Перевірте це: Перегляд списку операторів TODO / FIXME / XXX / HACK
alt text http://editra-plugins.googlecode.com/svn/wiki/images/commentbrowser/cb_screenshot.PNG
З (старого) умовного коду Java :
Використовуйте XXX у коментарі, щоб позначити щось неправдиве, але працює. Використовуйте FIXME для позначення фальшивого та зламаного.
XXX короткий для застереження, який трохи відрізняється від NOTE, але досить схожий на HACK. Це може бути помилка в сторонній бібліотеці / коді, який використовується, і код з // XXX: вказує на те, що або вона вирішена через помилку в коді третьої сторони, або може означати "обережність" для того, хто шукає / змінює код, щоб вказати, чому щось робиться певним чином, що в іншому випадку може здатися неправильним / неелегантним на перший погляд. HACK - це загальний термін, що означає вирішення проблеми, яка може бути наявна у вашій власній кодовій базі або в сторонній бібліотеці.
Я вважаю, FIXME
що розробник, а HACK
саме для технічного обслуговування - XXX
це для користувача.
Наприклад, якщо ви ігноруєте XXX
та називаєте цю функцію в іншому місці, не розуміючи, як вона працює, може статися щось несподіване, і людина, яка займається цим питанням, буде незадоволена (принаймні, той, хто додав XXX
так, думає). Ви можете подумати, що проблеми не буде, якщо ви просто не скористаєтесь цією функцією.
Але бо FIXME
ви будете почувати себе гідними просто виправити код, щоб він працював. І тому HACK
, можливо, ви не матимете кращого вибору, навіть якщо не будете використовувати його.
Якщо ви писали XXX
власний код і хтось ним користувався, ви можете почувати себе нещасними з причин, як ви повністю переписали цей код, і він поводиться зовсім по-іншому, і ви зламали чужий код. Але якщо ви залишили FIXME
або TODO
замість цього, ви не будете так сильно піклуватися.
Я використовую // XXX, тому мені не потрібно запам’ятовувати номери рядків. Натомість я просто шукаю XXX, коли хочу повернутися до цього фрагмента коду.