|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.01.2012, 22:50 | #81 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
Разумеется, комментарии могут быть где угодно, и какими угодно, я здесь описал то, чем пользуюсь я. Не комментирую очевидное, например:
X:=1; // Присвоить переменной X значение 1 Я не описываю алгоритм работы программы или её части, но, как сказал выше, описываю в общих чертах то, что делает комментируемый кусок кода: Код:
Разумеется, отступы и переносы можно не делать вообще (в тех местах, где это не приведёт к ошибке), но программа пишется не только для компьютера, программный код читается и анализируется ещё и человеком. Лично мне удобно, когда элементы кода отделяются друг от друга не только синтаксически, но и визуально. При записи арифметического (или иного) выражения отделять друг от друга операторы и операнды: Код:
Код:
Горизонтальные отступы нужны же для выделения иерархии к коде, то есть чтобы было видно, какой оператор в какой вкладывается. Это, прежде всего, относится к составному оператору Begin-end. Слова Begin и End должны начинаться с новой строки, должны быть правее всех операторов, которые они в себе содержат, например: Код:
Переносы целесообразно использовать в тех местах, где без них записанная строка смотрится наименее читабельной. Например: Объявление подпрограмм: Код:
Код:
Код:
|
05.01.2012, 22:51 | #82 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
Замечу, что в первом случае продолжение объявления подпрограммы надо записывать не вровень с началом заголовка, а чуть правее, тем самым, «поясняя», что это продолжение заголовка, а не что-то новое.
То же самое можно сказать и про второй и третий случай, но, на мой взгляд, здесь предпочтительнее присваиваемую часть записывать таким образом, чтобы ни один из её символов не был левее «столбца», на котором записан оператор присваивания «:=». Также сквозь призму такого переноса можно посмотреть и на запись длинного логического выражения в условном операторе. Код:
Код:
|
05.01.2012, 22:53 | #83 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
Имена идентификаторов.
Говорят, что имена идентификаторов не должны быть слишком длинными. В данный момент я пока НЕ готов выдвигать аргументы за или против. Но с тем, что имена должны отражать их назначение, я согласен полностью. Если имя идентификатора получается длинным, то слова следует визуально разделять. Лично я для этих целей использую заглавные буквы в начале слов, записывая при этом название идентификатора слитно. То есть: GetSystemTime GetArrayZerosAmount ClearStack IsMatrixSignular На мой взгляд, отпадает необходимость использования комментариев при работе с такими идентификаторами, в этом случае можно говорить о самодокументированности в некоторой степени. |
05.01.2012, 22:53 | #84 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
Вот, навскидку вспомнил. Напоследок, код, в котором соблюдены все (практически) изложенные мной правила:
Код:
|
05.01.2012, 22:55 | #85 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
Код:
|
05.01.2012, 22:55 | #86 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
Код:
|
05.01.2012, 23:03 | #87 | |||||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Вадим Мошев, много хорошего по теме, отступы - вариации на тему отступы в стиле Олмана. Касательно комментариев - я тоже не комментирую Х:=1, но комментарий к этой строке есть, внезапно да?
Код:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 05.01.2012 в 23:20. |
|||||
05.01.2012, 23:25 | #88 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
правда блок я не люблю выделять, но обычно пишу так: Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
05.01.2012, 23:30 | #89 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
По части Иф выделяйте блок - как совет (дело в итоге конечно за Вами), упрощает отладку (есть же автозамены во многих редакторах).
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
05.01.2012, 23:37 | #90 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Правила написания кода на Delphi | Virtson | Общие вопросы Delphi | 17 | 06.08.2010 08:59 |
Правила разделов/главные правила | Alex Cones | О форуме и сайтах клуба | 1 | 30.09.2009 17:49 |
Оформления текста | tae1980 | Microsoft Office Excel | 6 | 26.03.2009 18:54 |
Стили оформления кода | Altera | Свободное общение | 2 | 30.08.2008 17:23 |
Проблема оформления | SunKnight | Общие вопросы Delphi | 3 | 25.02.2008 01:11 |