Re[10]: Комментарии к коду
От: monah_tuk Пират http://htrd.su
Дата: 03.04.11 20:06
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, monah_tuk, Вы писали:


_>>1. Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает где вы живёте (Стив Макконнелл)

_>>2. Код пишется один раз, а читается — множество. Пишите его читабельным. (тоже откуда-то взято на заметку).

Pzz>У этого есть обратная сторона: чем понятнее выглядит ваш код, тем больше найдется желающих поковырять его по своему усмотрению, а потом объяснить вам, что если код в результате сломался — то это ваша бага, которую вы должны немедленно починить, потому что из-за вас вся работа стоит


Для этого есть контроль версий: бить того, кто поломал.
Re[11]: Комментарии к коду
От: Pzz Россия https://github.com/alexpevzner
Дата: 03.04.11 20:33
Оценка: :))) :)))
Здравствуйте, monah_tuk, Вы писали:

Pzz>>У этого есть обратная сторона: чем понятнее выглядит ваш код, тем больше найдется желающих поковырять его по своему усмотрению, а потом объяснить вам, что если код в результате сломался — то это ваша бага, которую вы должны немедленно починить, потому что из-за вас вся работа стоит


_>Для этого есть контроль версий: бить того, кто поломал.


Вы не понимаете. В один прекрасный день вы получаете письмо от какого-нубудь Прабата Гавносранежада примерно следующего содержания: "Дорогой Алекс, я нашел в файле xxx функцию yyy(), которая делает практически то, что мне надо. Правда, когда я ее позвал, сработал ассерт в строке NNN, но я его закомментировал, и теперь программа работает почти как надо, только падает через полчаса. Пожалуйста, исправь эту багу ASAP, потому что нам надо успеть все сделать к следующему релизу, который по плану должен произойти неделю назад, а данный issue является show stopper'ом, и без его исправления мы не можем двигаться дальше.".

И вот сиди потом и думай, как объяснить Прабату, который уже записал себе в союзники Большое Начальство, что данная функция (кстати, локальная в файле) не предназначена для такого использования, и что если использовать ее именно таким образом, это ломает мои тщательно продуманные планы на развитие этого кода на следующие полгода вперед, и вообще, нужная ему функциональность была там чисто случайно и временно, а через неделю я планировал это место сильно изменить. Большое Начальство, разумеется, выступает на стороне Прабата, потому что ему тоже нужен следующий релиз (который и так уже опаздывает), а своими темпами Прабат его и через месяц не сделает.

И приходят в голову иногда такие мысли: а ведь если бы в том файле не было комментариев, Прабат эту функцию ни в жизнь бы не нашел

P.S. Все имена и фамилии являются вымышленными, любое совпадение является случайностью
Re[10]: Комментарии к коду
От: CreatorCray  
Дата: 03.04.11 20:45
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>В результате моей работы код стал: короче, понятнее, намного быстрее (это основное, что требовалось)

Этот код ещё вылизывать и вылизывать. Оформление кошмарное.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[10]: Комментарии к коду
От: CreatorCray  
Дата: 03.04.11 20:45
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>У этого есть обратная сторона: чем понятнее выглядит ваш код, тем больше найдется желающих поковырять его по своему усмотрению, а потом объяснить вам, что если код в результате сломался — то это ваша бага, которую вы должны немедленно починить, потому что из-за вас вся работа стоит


SVN Blame таким в наглую харю!
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[12]: Комментарии к коду
От: Gadsky Россия  
Дата: 03.04.11 20:51
Оценка: +4
Здравствуйте, Pzz, Вы писали:

Pzz>Пожалуйста, исправь эту багу ASAP...


Немного не в тему, но как же я ненавижу этот чертов АСАААП. Вечно он меня вгонял в когнитивный диссонанс. Ну что значит "так быстро как только возможно"? Да я вот на горшке сижу, и могу прямо сейчас оторваться и пойти делать это, но кто, блин, позаботится о последствиях?

PS. Кроме этого выражения еще больше в практике "планирования", я ненавижу только "надо было вчера". Ответ напрашивается только один: "Ах, вчера?, Ну так уже опоздали, значит можно ничего и не делать."
Re[12]: Комментарии к коду
От: CreatorCray  
Дата: 03.04.11 21:21
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>И вот сиди потом и думай, как объяснить Прабату, который уже записал себе в союзники Большое Начальство, что данная функция (кстати, локальная в файле) не предназначена для такого использования, и что если использовать ее именно таким образом, это ломает мои тщательно продуманные планы на развитие этого кода на следующие полгода вперед, и вообще, нужная ему функциональность была там чисто случайно и временно, а через неделю я планировал это место сильно изменить. Большое Начальство, разумеется, выступает на стороне Прабата, потому что ему тоже нужен следующий релиз (который и так уже опаздывает), а своими темпами Прабат его и через месяц не сделает.


Говнокодеры + идиоты на руководящих постах?
Валить из этого дурдома.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[12]: Комментарии к коду
От: AlexNek  
Дата: 03.04.11 21:34
Оценка: +1
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, monah_tuk, Вы писали:


Pzz>>>У этого есть обратная сторона: чем понятнее выглядит ваш код, тем больше найдется желающих поковырять его по своему усмотрению, а потом объяснить вам, что если код в результате сломался — то это ваша бага, которую вы должны немедленно починить, потому что из-за вас вся работа стоит


_>>Для этого есть контроль версий: бить того, кто поломал.


Pzz>Вы не понимаете. В один прекрасный день вы получаете письмо от какого-нубудь Прабата Гавносранежада примерно следующего содержания: "Дорогой Алекс, я нашел в файле xxx функцию yyy(), ...

Pzz>И приходят в голову иногда такие мысли: а ведь если бы в том файле не было комментариев, Прабат эту функцию ни в жизнь бы не нашел
Как раз то комментариев было недостаточно. Если язык не позволяет делать private функции, так хоть в комментариях надо было написать что только для внутреннего употребления.
Re[13]: Комментарии к коду
От: Pzz Россия https://github.com/alexpevzner
Дата: 03.04.11 22:31
Оценка:
Здравствуйте, AlexNek, Вы писали:

AN>Как раз то комментариев было недостаточно. Если язык не позволяет делать private функции, так хоть в комментариях надо было написать что только для внутреннего употребления.


Язык, разумеется, позволяет. Но и переделать приватную функцию в публичную он точно так же позволяет.
Re[13]: Комментарии к коду
От: Pzz Россия https://github.com/alexpevzner
Дата: 03.04.11 22:33
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Говнокодеры + идиоты на руководящих постах?

CC>Валить из этого дурдома.

Ну я и свалил в конечном итоге. Доделал взятые на себя обязательства, и свалил. Беда в том, что большинство контор так работают.
Re[11]: Комментарии к коду
От: Pzz Россия https://github.com/alexpevzner
Дата: 03.04.11 22:34
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>SVN Blame таким в наглую харю!


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

Не знаете, к нему еще соответствующего плагинчика не написали?
Re[14]: Комментарии к коду
От: AlexNek  
Дата: 03.04.11 22:54
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz> AN>Как раз то комментариев было недостаточно. Если язык не позволяет делать private функции, так хоть в комментариях надо было написать что только для внутреннего употребления.


Pzz> Язык, разумеется, позволяет. Но и переделать приватную функцию в публичную он точно так же позволяет.

Ну так тому кто это хочет сделать для начала надо спросить разработчика а отчего она приватная хотя бы. Хотя негласное правило говорит: руки прочь от приватных функций.
avalon 1.0rc3 rev 380, zlib 1.2.3
Re: Комментарии к коду
От: azzx Россия  
Дата: 04.04.11 06:02
Оценка: +2
Здравствуйте, alexey_sz, Вы писали:

_>Собственно немного флеймовая тема, но тем не менее. Есть два диаметральных подхода к комментариям

_>1) Комментируем все, что можно
_>2) Пишем код так, чтобы комментарии были не нужны . Ну или самый необходимый минимум
_>Есть ли у вас требования на работе к комментариям, и если есть то какие ?

Золотая середина должна быть во всём.
Комментарий — к функции — это святое, ибо кошерно.
Комментарий внутри функции — как правило для кусков, которые можно было бы выделить в отдельные функции, но бессмысленно, ибо нужно один раз и только здесь — т.е. как бы в одной функции есть составное действие.
Re[12]: Комментарии к коду
От: CreatorCray  
Дата: 04.04.11 08:21
Оценка:
Здравствуйте, Pzz, Вы писали:

CC>>SVN Blame таким в наглую харю!

Pzz>Вот если бы к SVNу можно было приделать пулеметную ленту...
А было бы неплохо

Pzz>Не знаете, к нему еще соответствующего плагинчика не написали?

А это идея для стартапа
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[14]: Комментарии к коду
От: CreatorCray  
Дата: 04.04.11 08:22
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Ну я и свалил в конечном итоге. Доделал взятые на себя обязательства, и свалил.

И правильно.

Pzz>Беда в том, что большинство контор так работают.

Жизнь, она как детская рубаха: короткая и вся в дерьме. (С)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[15]: Комментарии к коду
От: Pzz Россия https://github.com/alexpevzner
Дата: 04.04.11 10:36
Оценка:
Здравствуйте, CreatorCray, Вы писали:

Pzz>>Беда в том, что большинство контор так работают.

CC>Жизнь, она как детская рубаха: короткая и вся в дерьме. (С)

Ну да, только в реальности детская рубаха обычно длинная и чистая
Re[11]: Комментарии к коду
От: LaptevVV Россия  
Дата: 04.04.11 10:47
Оценка: +2
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, LaptevVV, Вы писали:


LVV>>В результате моей работы код стал: короче, понятнее, намного быстрее (это основное, что требовалось)

CC>Этот код ещё вылизывать и вылизывать. Оформление кошмарное.
Как известно, абсолютных критерие "красоты" и "кошмарности" — не существует... А на вкус и цвет...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[9]: Комментарии к коду
От: LaptevVV Россия  
Дата: 04.04.11 10:49
Оценка:
Здравствуйте, AlexNek, Вы писали:

AN>Здравствуйте, LaptevVV, Вы писали:


LVV>> LVV>> В данном случае можно завернуть в класс все операции с решеткой узлов.

LVV>> LVV>> Но просто не вижу смысла это делать.

LVV>> AN>Попробуйте просто ради интереса


LVV>> LVV>> Если при решении последующих задач текст будет разрастаться -я, конечно, предприму шаги подобного рода.


LVV>> AN>тогда это может быть уже поздно


LVV>> Никогда не поздно. На полное переписывание хватает одного дня — такого размера текст. И я его стараюсь в таком объеме поддерживать.

AN>Это просто два разных "концепта" и думается в них совершенно по другому.
AN>Ну типа если мне надо в "С" изменить "поведение" функции, я думаю где бы мне вставить if, а если в "плюсах", то какую функцию перекрыть. То есть развитие кода идет просто по другому пути и "переписывая" его позже это будет тот же код, но завернутый в классы. Тогда конечно нет в этом смысла.
Здесь еще один момент важную роль играет. Заказчик-физик мыслит в терминах процедурного программирования и запудривать ему мозги объектно-ориентированным подходом не нужно. Он этого не примет, и в общем, будет прав...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[15]: Комментарии к коду
От: Pzz Россия https://github.com/alexpevzner
Дата: 04.04.11 12:04
Оценка:
Здравствуйте, AlexNek, Вы писали:

Pzz>> Язык, разумеется, позволяет. Но и переделать приватную функцию в публичную он точно так же позволяет.

AN>Ну так тому кто это хочет сделать для начала надо спросить разработчика а отчего она приватная хотя бы. Хотя негласное правило говорит: руки прочь от приватных функций.

И что я, как разработчик, отвечу на этот вопрос, так, чтобы больше не спрашивали?
Re: Комментарии к коду
От: vpchelko  
Дата: 04.04.11 13:46
Оценка: +1
Есть такая штука как doxygen.
Сало Украине, Героям Сала
Re[16]: Комментарии к коду
От: AlexNek  
Дата: 04.04.11 16:40
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz> Pzz>> Язык, разумеется, позволяет. Но и переделать приватную функцию в публичную он точно так же позволяет.


Pzz> AN>Ну так тому кто это хочет сделать для начала надо спросить разработчика а отчего она приватная хотя бы. Хотя негласное правило говорит: руки прочь от приватных функций.


Pzz> И что я, как разработчик, отвечу на этот вопрос, так, чтобы больше не спрашивали?

Ну если "плюсы", то отправить к книге Страуструпа почитать про приватные функции
Как её увидят больше спрашивать не будут

Спросите его почему у него дома дверь всегда закрыта, а в магазине днем нет?
avalon 1.0rc3 rev 380, zlib 1.2.3
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.