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


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.