Які ваші думки щодо періодів / повних зупинок у коментарях до коду? [зачинено]


27

Я бачив, що це запитували в таверні "SO" , тому я тут публікую запитання. Я вважав це цікавим питанням. (Звичайно, це не належить до SO, але я думаю, що тут це нормально.)

Ви додаєте періоди (або, як написала ОП, "повні зупинки") у коментарях до коду?

Щоб це було актуально, чому ?


2
ТАКОГО я роблю, а іноді й ні. Це залежить від коментарів і того, що робить його легким для читання.
Тім

Відповіді:


29

Повна зупинка призначена для закінчення речень, але якщо коментар складається лише з одного речення, оточеного кодом, то на мою думку повна зупинка не потрібна. Іноді я навіть не використовую великих літер у першій букві. З іншого боку, детальний багаторядковий коментар потребує повної пунктуації.

// This function returns an average of two integers. Note that it may
// return an irrelevant result if the sum of a and b exceeds the int
// boundaries.

int avg(int a, int b)   // make it static maybe?
{
    // A better algorithm is needed that never overflows
    return (a + b) / 2; 
}

4
+1. Це так схоже на мій стиль коментування, що він дав мені помилкове дежавю. :)
Столи Бобі

26
Ні, повна зупинка призначена для позначення кінця речень. Не має значення, чи є у вас один чи кілька.
Грак

2
<joke> Чи не було б краще перевірити, чи не перевищують межі int? </joke>
Dan Rosenstark

2
@Яр: середнє значення завжди є між a і b, які за визначенням завжди знаходяться в межах, правда? ;)
моджуба

8
Усі мої рядки закінчуються недійсними, тому належний коментар повинен завжди закінчуватися символом "\ 0". Ви не хочете, щоб наступний хлопець, що дивиться на ваш код, читав минуле кінця його думки?
CodexArcanum

26

Так, оскільки коментарі англійською мовою, а належна англійська використовує розділові знаки.


2
Як щодо текстових повідомлень?
Моше

4
@Moshe, текстові повідомлення навряд чи є належною англійською мовою.
Домінік МакДоннелл

8
Навряд чи належна англійська, але я все одно використовую розділові знаки в них. Існує пунктуація, щоб орієнтувати читача на те, що саме автор задумав - це стосується будь-якої мови, IMHO.
cjmUK

@cjmUK, Лол, так і так. Я подумав, що Моше мав на увазі це як причину того, що ми не будемо використовувати розділові знаки, оскільки я регулярно отримую повідомлення типу "той wd b gr8 cu там до побачення", які ведуть мене до стіни
Домінік МакДоннелл

I nu wot u ment im wiv u all da way
cjmUK

17

Ви додаєте періоди (або, як написала ОП, "повні зупинки") у коментарях до коду?

Щоб це було актуально, чому?

З тієї ж причини я додаю їх під час написання "звичайного" тексту - вони є частиною мови в письмовій формі, і нічого не повинно бути в них. Я використовую їх однаково під час написання коментарів до одного речення (одного рядка), а також цілих абзаців.

Вихідний код не є звичайним текстом, тому ми використовуємо для нього різні правила. Простий ;-)


Мій друг ніколи не придушує слова в електронних листах ... тому що це в Інтернеті. Для мене це добре, коли ви адаптуєте свій текст до технічних обмежень, таких як SMS, але чим електронні листи чи вихідний код відрізняються від тексту в листах та книгах?
LennyProgrammers

1
@ Lenny222 - Не впевнений, про що ти тут питаєш. Електронні листи слід писати як звичайний текст; як ти пишеш лист, як ти кажеш. Як вони насправді написані (і SMS-повідомлення, о, хлопче, не запускайте мене з SMS-повідомлень :) Вихідний код не підпорядковується тим же правилам, що і звичайний текст, оскільки він має свої правила синтаксису.
Грак

2
Для мене коментарі вихідного коду призначені для читання людьми. Чому варто змінювати, чи є якась інформація в окремому специфікаційному документі чи вкладена у коментарі до вихідного коду?
LennyProgrammers

@ Lenny222 - Щось просто сталося зі мною, так щоби між нами не було непорозумінь. Зараз ми говоримо про вихідний код чи про коментарі, що містяться в ньому? Якщо це вже другий випадок, то вибачаюся, що я вас зрозумів неправильно. У цьому випадку діють ті самі правила, що і для звичайного тексту (для коментарів). У фактичному вихідному коді (той, який читає компілятор / інтерпретатор), я не бачу, як можуть дотримуватися ті самі правила.
Грак

1
Так, я думаю, що ми погоджуємось між собою, не знаючи. ;)
LennyProgrammers

9

Якщо ви пишете коментарі, можна сподіватися, що вони написані англійською мовою. У цьому випадку слід правильно пунктувати. Робити інакше було б лінь.


1
Періоди - на кінець речення. Коментарі не обов'язково є повними реченнями.
Джон Б. Ламбе

Коментарі, загалом, повинні бути реченнями. Якщо ні, то я повинен запитати, чому ні. Якщо ваші коментарі такі короткі, що вони не є реченнями, чи вони, очевидно, і тому зайві?
quick_now

5

Якщо я пишу повне речення (або більше), то так. Якщо я цього не роблю, то іноді ні, але зазвичай все одно так.

Я також іноді божеволію і використовую знак оклику, знаки запитання тощо;)

Щодо того, це частково тому, що я просто такий, як, і частково тому, що я вважаю, що відповідні пунктуації можуть додати багато ясності.


Якщо ви використовуєте знаки запитання, чи розумієте ви власний код?
Моше

@Moshe: Це зазвичай у TODO, коли я, можливо, ще не повністю зрозумів власний код.
Адам Лір

2
@Moshe - Чому коментарі не можуть включати запитання? Питання можуть бути риторичними. Насправді я часто нас? в моїх коментарях - коли описується умовний код, а не сухе пояснення логіки, часто зрозуміліше описати логіку як питання. Напр. "Чи були виконані кваліфікаційні критерії? Якщо ні, відображайте попередження для користувача."
cjmUK

1
Працюючи з великими проектами та багатьма співробітниками, я часто вважаю, що ці запитальні коментарі є найбільш важливими.
LennyProgrammers

3

Інші відповіді та їх популярність дають зрозуміти, що повні зупинки добре оцінені в більш тривалих коментарях, і, ймовірно, їх можна уникнути в одному-лайнері.

Ще один момент, який може бути актуальним, - це уникати знаків оклику, особливо кратних . Приклад:

    // Though loop is labor-intensive, performance is fine with with 95K cases!!!

і

    // This code really sucks!

З іншого боку, питання питання часом корисні:

    // TODO: What does Crojpler.bway() actually do?

1

Це залежить. Якщо я записую великий, належний абзац, в якому пояснюється, що робить блок коду, то я його пунктуюю належним чином, як і будь-який інший фрагмент належного написання. ОТО, коли я коментую лише один рядок коду, тоді я цього не роблю.

Чому? - Подібно тому, чому я пишу електронні листи, використовуючи належне написання, тоді як я можу використовувати скорочені речення у SMS-повідомленнях. В одному випадку я сідаю, щоб написати належний блок тексту, тому я просто автоматично "роблю це правильно", а в іншому - лише коротка примітка, щоб отримати точку впоперек.

Реальні приклади з мого коду:

Короткий коментар до примітки:

// check for vk_enter

Документація щодо "належного" методу:

// This method sets up a workspace tab with the given name. Each MDI window has a parent
// workspace specified when it's saved. The code which loads each MDI window then point it to
// the correct workspace.

.NET розробник, так? ;-)
Моше

@Moshe: фактично Java. Це код дуже великого і складного аплету, в основному як настільний додаток Swing, за винятком того, що він працює в браузері. :)
Столи Бобі

Я, хоча MDI - це .NET термін.
Моше


1

Так, я думаю, що таким чином ви створюєте хорошу умову кодування, а також створює чіткий читабельний код для третьої особи, яка переглядає ваш код.


1
Що з другою людиною?
daviewales

0

Я завжди буду правильно використовувати великі літери та пунктуацію під час створення XML-коментарів, які, як я очікую, будуть помічені в IntelliSense та в нашій створеній документації . Це набагато формальніші конструкції, і їх слід розглядати як такі.

Щойно помічені коментарі в коді блоку коду, однак, повинні бути просто максимально зрозумілими. Це залежить від програміста, як вони цього досягають.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.