Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];

Вниз

Комментируете ли вы свои сорцы   Найти похожие ветки 

 
DillerXX ©   (2006-10-27 22:28) [0]

Если знаете, что они никогда, ни к кому больше не попадут? Оставлять комментарии чисто для себя. Просто пишу сейчас программу, и вдруг откуда ни возьмись, появилось желание прокомментировать блок кода, довольно важный в работе программы. Ну дык вот, удовлетворять ли мне впредь подобные желания?  ;) Может есть в комментировании какие-то позитивные моменты, всё равно как в оформлении кода пробелами etc


 
EvS ©   (2006-10-27 22:33) [1]

> желание прокомментировать блок кода, довольно важный в работе
> программы. Ну дык вот, удовлетворять ли мне впредь подобные
> желания?  ;) Может есть в комментировании какие-то позитивные
> моменты, всё равно как в оформлении кода пробелами etc

Удовлетворяй.
Даже если пользы не будет, хоть удовольствие получишь:)


 
palva ©   (2006-10-27 22:34) [2]

Я всегда комментирую. Иногда даже начинаю писать с комментариев, а потом пишу код между ними. Если код большой и писать его надо несколько дней, то без комментариев, писанных чисто для себя, никак не обойтись. Иначе - склероз.


 
palva ©   (2006-10-27 22:35) [3]

Опять забыл дописать.
Иначе склероз даст себя знать.


 
Gydvin ©   (2006-10-27 22:36) [4]

Зависит от качества твоей памяти и сложности кода.


 
MeF Dei Corvi ©   (2006-10-27 22:37) [5]

Начал комментировать, когда однажды очень долго пытался понять, что делает давно написанный кусок кода.


 
Игорь Шевченко ©   (2006-10-27 22:37) [6]


> Комментируете ли вы свои сорцы


Практически нет. Хороший комментарий редко требуется, а плохой только засоряет код.


 
DiamondShark ©   (2006-10-27 22:42) [7]

комментирую интерфейс (не тот, что с кнопочками, а тот, который public-члены).

на остальное работают самокомментирумый код и простота.


 
Gero ©   (2006-10-27 22:46) [8]

Комментирую только в случае нестандартного решения (через ж), то есть когда имеет место быть какое-либо трюкачество. В остальных случаях названия идентефикаторов решают.


 
Sergey Masloff   (2006-10-27 22:50) [9]

Я комментирую но стараюсь не избыточно.


 
MeF Dei Corvi ©   (2006-10-27 22:51) [10]

Кстати, немного не в тему ветки, но новую заводить не хочу. Меня с недавних пор интерисует вопрос, насколько эффективны Unit-тесты в качестве инструмента документирования.


 
DiamondShark ©   (2006-10-27 22:53) [11]


> насколько эффективны Unit-тесты в качестве инструмента документирования.

Настолько же, насколько отвёртка эффективна в качестве инструмента для наблюдения звёздного неба.


 
Чапаев ©   (2006-10-27 23:07) [12]

> [0] DillerXX ©   (27.10.06 22:28)
Если очевидное решение не работает, а приходится пользоваться "обходным маневром", то обязательно это отмечаю в комментарии, чтобы в будущем не попытаться "оптимизировать" и не наткнуться на те же грабли. ;-)

Если какая-то сложная конструкция из условных операторов, перед else"ами отмечаю, к чему они относятся.


 
Суслик ©   (2006-10-27 23:12) [13]

я обычно документирую и много.
осебенно стараюсь объяснять те вещи, которые были в уме, когда я написал тот или иной *неочевидный* код.


 
Eraser ©   (2006-10-27 23:16) [14]

Комментирую, особенно если это запутанный алгоритм/протокол.


 
MeF Dei Corvi ©   (2006-10-27 23:19) [15]


> Настолько же, насколько отвёртка эффективна в качестве инструмента
> для наблюдения звёздного неба.

Отвертка эффективна, если правильно её применить :)


 
MikePetrichenko ©   (2006-10-27 23:23) [16]

Никогда не коментирую.
Через несколько месяц матюкаюсь, и клянусь себе коментировать..
Опять не коментирую...


 
Sergey Masloff   (2006-10-27 23:26) [17]

Суслик ©   (27.10.06 23:12) [13]
>я обычно документирую и много.
>осебенно стараюсь объяснять те вещи, которые были в уме, когда я >написал тот или иной *неочевидный* код.
А надо писать очевидный ;-)))) Сколько раз уже тебе говорили.
Шутка юмора.


 
Leonid Troyanovsky ©   (2006-10-27 23:28) [18]


> palva ©   (27.10.06 22:35) [3]

> Опять забыл дописать.
> Иначе склероз даст себя знать.


Дык, и дал уже .)

--
Regards, LVT.


 
Суслик ©   (2006-10-27 23:35) [19]


> Sergey Masloff   (27.10.06 23:26) [17]

очевидный только только в книгах бывает и у того, кто ничего не пишет, а тольку учит.

....
тоже шутка


 
Real ©   (2006-10-27 23:50) [20]

Комментирую всегда. Любую процедуру - начинаю с комментария. В обработчиках событий - даже есть плюс: если пока эта процедура пуста, она не будет удалена после проверки синтаксиса, в случае что там есть комментарий. Хорошее документирование позволяет с беглого просмотра кода восстановить в памяти все действия которые возложены на код.


 
DrPass ©   (2006-10-27 23:55) [21]

Не злоупотребляю. Если алгоритм нетривиальный, или просто может быть непонятным ("почему так" или "откуда взято это значение") - ставлю комментарий. А так как в большинстве случаев используешь уже привычные и отработанные конструкции, комментарии ставить в них нет смысла. Только засорять код и усложнять его чтение


 
Суслик ©   (2006-10-28 00:06) [22]

Можно одын умный весчь скажу, только вы, противники обильных комментов, не обижайсэс.

Позвольте предположить, что вам просто лень писать комменты.
:)


 
DrPass ©   (2006-10-28 00:10) [23]


> Позвольте предположить, что вам просто лень писать комменты

Неа. Просто читать утыканный комментариям код действительно тяжело. Если процедура называется SaveToFile, писать перед ней {сохранение в файл} - идиотизм, не правда ли?


 
Суслик ©   (2006-10-28 00:16) [24]


> идиотизм, не правда ли?

зависит от ситуации.
в целом, скорее, что идиотизм.
но поди предвидь то, что окажется идиотизмом и то, что скорит понимание куска в условиях ограниченного времени.


 
DrPass ©   (2006-10-28 00:27) [25]


> Суслик ©   (28.10.06 00:16) [24]

Расширим пример:

a)
var
 RecordCount: integer;
begin
 FillDataFromGrid(Records);
 RecordCount:= CalcRecordsCount(Records);
 SaveToFile(Records, RecordCount);
end;


b)
var
 RecordCount: integer; //количество записей
begin
 //заполним записи
 FillDataFromGrid(Records);
 //подсчитаем количество
 RecordCount:= CalcRecordsCount(Records);
 //сохраним в файл
 SaveToFile(Records, RecordCount);
end;


Какой вариант легче читается?


 
Суслик ©   (2006-10-28 00:35) [26]


> DrPass ©   (28.10.06 00:27) [25]

не утрируй.


 
Чапаев ©   (2006-10-28 00:37) [27]

> Какой вариант легче читается?
Первый. Смысл тот же, а строчек почти вдвое меньше. Вот если б было

var
 I:Integer;
begin
 A(R);
 I:=B(Records);
 C(R,I);
 end;

тогда б без коментариев тяжко...


 
DrPass ©   (2006-10-28 00:40) [28]


> Суслик ©   (28.10.06 00:35) [26]
>
> > DrPass ©   (28.10.06 00:27) [25]
>
> не утрируй.

Да я не утрирую - 90% кода в нормальных программах пишется в таком духе


 
Чапаев ©   (2006-10-28 00:42) [29]

> [28] DrPass ©   (28.10.06 00:40)
Ну дык... Как ещё утилизировать восьмичасовой рабочий день? :-D


 
Суслик ©   (2006-10-28 00:43) [30]


> DrPass ©   (28.10.06 00:40) [28]

а я вот люблю такие комменты писать

  // !!! Читатель может задаться вопросом, почему я не создал
  // класс для представления умолчательного шрифта и в нем уже не создал
  // имя и размер. Дело в том, что не предполагается расширение
  // набора атрибутов умолчательного шрифта: только имя и размер.
  // К тому такой класс не имел бы структурного значения как таковой - нужны
  // только два его атрибута. Одним словом такое решение кажется более разумным.

PS Это писанный мною экспорт в бинарный формат *.xls.


 
Gero ©   (2006-10-28 00:47) [31]

> [30] Суслик ©   (28.10.06 00:43)

Избыточность налицо, однако. Можно сократить раза в три-четыре.


 
Ketmar ©   (2006-10-28 00:48) [32]

>[0] DillerXX(c) 27-Oct-2006, 22:28
>Ну дык вот, удовлетворять ли мне впредь подобные желания?
ни-ког-да. и отступов не делай. старайся как можно плотнее заполняй строки -- это ж экономия места! а компилятору всё равно.

>[30] Суслик(c) 28-Oct-2006, 00:43
я бы свои процитировал, но модератор сразу пост порежет. %-) там мат на мате.


 
Anatoly Podgoretsky ©   (2006-10-28 00:49) [33]


> тогда б без коментариев тяжко...

Думаешь с комментариями будет легко?
Если написать комментарии, то тогда надо сделать последний шаг, перенести их в идентификаторы, а если комментатор этого не сделает, то пора задуматься об его служебном соответствии.


 
Gero ©   (2006-10-28 00:51) [34]

> [27] Чапаев ©   (28.10.06 00:37)


> Вот если б было
>
> var
> I:Integer;
> begin
> A(R);
> I:=B(Records);
> C(R,I);
> end;

Тут не комментировать нужно, а рефакторинг делать.


 
DrPass ©   (2006-10-28 00:51) [35]


> Суслик ©   (28.10.06 00:43) [30]

Не зарывай свой талант в программировании :)
А если серьезно - читателю кода будет абсолютно неважно, каким был твой мыслительный процесс и творческие озарения. Ему понадобится только объектная модель, модель данных и техзадание. И краткие пояснения в нетривиальных местах


 
Суслик ©   (2006-10-28 00:52) [36]


> DrPass ©   (28.10.06 00:51) [35]

дерзай!


 
Ketmar ©   (2006-10-28 00:53) [37]

>[35] DrPass(c) 28-Oct-2006, 00:51
>А если серьезно - читателю кода будет абсолютно неважно,
>каким был твой мыслительный процесс и творческие озарения.
зато самому потом интересно читать.


 
Суслик ©   (2006-10-28 00:56) [38]


> DrPass ©   (28.10.06 00:51) [35]


> Ему понадобится только объектная модель, модель данных и
> техзадание. И краткие пояснения в нетривиальных местах

добавлю - если он пишет типовое (пусть и непростое) приложение.
----
как ты думаешь если бы модули vcl были снабжены хорошими комментами ты бы быстрее смог понять тот или иной аспект?
ну ты конечно, скажешь, что нет (ну раз ты даешь советы не зарывать свой талант, то, наверное, имеешь на это полное основание - ну профи типа). но все же рискну заметить, что скорее всего это будет лукавство, т.к. замечал не раз, что разобравшись в каком-то месте понимаешь, что можно было бы сделать вменяемый коммент на 2-3 строки и было бы проще.


 
Ketmar ©   (2006-10-28 00:58) [39]

>[38] Суслик(c) 28-Oct-2006, 00:56
сколько читал генофонд -- вполне понимал. потому что написан вполне вменяемо и приятно.


 
DrPass ©   (2006-10-28 01:00) [40]


> Суслик ©   (28.10.06 00:56) [38]

Два замечания:
а) Во-первых, не надо обижаться про "зарывание таланта", т.к. это абсолютно безобидная шутка. А на обиженных еще и воду возят.
б) Во-вторых, где ты в модулях VCL видел комментарии 8-)? И несмотря на их практически полное отсутствие, это не мешает замечательно читать исходники VCL



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.046 c
2-1162299656
#0FFFF
2006-10-31 16:00
2006.11.19
Значок в компоненте


15-1162366296
ANB
2006-11-01 10:31
2006.11.19
Че это за мясо ?


2-1162054281
Ingwar
2006-10-28 20:51
2006.11.19
Как лучше сделать!


8-1144960276
Alpine
2006-04-14 00:31
2006.11.19
Помогите с DSPACK+web camera


2-1162229245
dreamse
2006-10-30 20:27
2006.11.19
Подскажите компонент в котором реализована бегущая строка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский