|
11 / 11 / 2
Регистрация: 17.02.2014
Сообщений: 947
|
|
Комментирование программ. Насколько это важно?08.02.2016, 19:01. Показов 3506. Ответов 55
Метки нет (Все метки)
0
|
|
| 08.02.2016, 19:01 | |
|
Ответы с готовыми решениями:
55
Комментирование программ С++ Комментирование программ С++ насколько это соответствует стандарту? |
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||||||
| 09.02.2016, 23:43 | ||||||||||
|
для которого я его и написал. ну так вот, он сказал, что ничерта не понятно. о том, что делает код он понял только по комментам. и то - рассмотрев использование. хотя человек не первый год программирует. смысл комментария - позволить не вникать в код вообще, либо помочь вникнуть человеку со стороны. у меня есть сомнения насчет 5 секунд.
в каких то случаях на практике. ну так вот, меня запарили длинные имена. они может и дают профит, когда такое видишь впервые в жизни но во всех остальных случаях хочется подсократить сделав код более компактным. можно сделать какие угодно подробнве комментарии, с примерами использования и все такое - но это все лежит в библиотечном коде в 1 месте. в боевом коде никаких комментариев уже нет. кому не понятно - пусть прыгают на декларацию, и читают как доку. то есть, до вас не дошло, что это - пример использования макросов в действии? даже слово "usage" не помогло?
0
|
||||||||||
|
Неэпический
|
||||||
| 10.02.2016, 00:35 | ||||||
|
Код из SFML:
2
|
||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 10.02.2016, 00:36 | |
|
1
|
|
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|||||
| 10.02.2016, 02:36 | |||||
|
Хочешь показать использование или в этом роде - запили нормальный коммент до объявления и добавь юнит-тест. Это куда логичнее, имхо. В чем проблема так поступить?
0
|
|||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||||
| 10.02.2016, 03:49 | ||||||||
|
несмотря на то, что я сам же его и написал. а что касается шаблонов - их хорошо понимают только тренированные мозги. особенно, если там используется рекурсия, и прочие приколы. я - практик, и с позиции своей практики понял одну вещь: разница между сильным программистом и слабым в отношении шаблонов заключается в том, что сильный буксанет, но осилит. а слабый вообще может не осилить. однако тормознут оба. комментарий здесь позволяет сэкономить время, делая необязательной необходимость компилировать шаблоны в голове, что бы понимать, что делает код. но меня и читать длинное тоже запаривает. должен быть баланс между лаконичностью и читабельностью. этот баланс обеспечивает система - нотация, стиль кода, и тп. зная систему, ставится проще и читать, и писать код. и не нужны избыточно длинные имена. вы посмотрели дальше #if 0. а если вы посмотрели дальше #if 0 и после этого вам не очевидно, зачем был нужен этот #if 0 даже несмотря на слово "usage", ну тогда ничем не могу помочь. комментарии вас тоже никто не заставляет читать. потому что опционально. сначала нужно предоставить лаконично и сжато итоговый материал. а потом уже, следом, где нибудь в конце файла могут идти какие угодно дополнения, и разъяснения. эти разъяснения будут нужно примерно 1 раз за все время. а дальше хочется видить "чистое апи", желательно на одном экране, а не растянутое на 10 сраниц, из которых 9,9 занимают доксигеновские комменты. из задача не столько контролировать работоспособность механизма, сколько иллюстрировать дизайн использования.
0
|
||||||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|||||||
| 10.02.2016, 14:19 | |||||||
![]() Должен же быть здравый смысл. А в следующий раз ты строковую константу usage объявишь, чтоб было еще понятнее? ![]()
0
|
|||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||
| 11.02.2016, 01:35 | ||||||
|
что именно вам не понятно? тем лучше. комментарии нужны только на этапе освоения материала, пока код ещё не узнаваем. на этапе активной работы комментарии - мусор, который раздражает, мельтеша перед глазами, и отвлекая от сути вещей. перенасыщение избыточной информацией - негативно сказывается на удобствах работы. однако комменты в его стиле приводит к тому, что в описании апи 85-90% жирных комментов, и лишь 15-10% реального кода. на этапе активной работы это начинает бесить. к счастью ИДЕ позволяют схлопывать секции комментов. к несчастью частенько приходится работать мне оч нравится http://www.cplusplus.com/refer... s/is_same/ образцово показательный пример того, какой должна быть документация. на любой чих есть годный пример использования. и меня люто бесят доксигенвские комменты, потому что они засоряют исходный код, делая его не компактным. ущербная попытка вшить документацию в сам код. если так сильно хочется поиметь годный хэлп, но нет возможности запилить моральную документацию, то уж лучше вынести в конец исходника пример использования в виде коммента #if 0 так хелпа он не будет мельтешить перед глазами, когда она станет не нужна. а не нужна она станет сразу же, как только код станет узнаваем. на практике обычно - после первого же, и единственного просмотра примера использования. в дальнейшем говорящих имен функций хватает за глаза. контроль соотвествия с ожидаемым, защита от регресси, и прочее - побочные положительные эффекты методики программирования, при котором изначально разрабатывается дизайн, и только затем, ответив на вопрос: "чего вы хотите, и как вы хотите это использовать?", вырабатывается реализация, "под ключ хотелок". Добавлено через 2 минуты он понял, как использовать, глядя на пример иллюстрацию. но так и не понял принцип действия самой конструкции. вы же сами ратуете за принцип: "код пишут один раз, а потом много-много раз читают". при этом не мешало бы так же не забывать - его не просто много много читают. его читают разные люди.
0
|
||||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||||||||
| 11.02.2016, 04:36 | ||||||||
![]() ![]()
0
|
||||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||
| 11.02.2016, 09:41 | ||||||
|
(и без комментов, что характеризует). либо с доксигеновской, которая генерируется из этих отвратительно жирных комментов, за которыми кода не видать. паршивая дока, толку от которой чуть больше, чем от чтения "чистеньких" хэдеров. комменты нужны только на этапе освоения нового материала. а дальше они раздражают, перенасыщая текст избыточной информацией. тут я конечно могу ошибаться, но вроде бы даже доксиген позволяет вынести весь этот хлам в конец файла, что бы лишний раз перед глазами не маячили. однако обычно, их пишут по месту прототипов в хедерах. это ж продукт TDD. мне как то сложно представить себе процесс написания тестов в отрыве от TDD. и не переписывать его потом по 10 раз, сначала пишут тесты, суть которых - илллюстрация того, как используется механизм. написание таких тестов прочищает мозг: они заставляют ответить на вопрос: чего мы вообще хотим получить? как мы хотим это использовать? в результате получается годный дизайн. в этом смысле цель самой методики - дизайн. но достигается эта цель за счет написание тестов, цель которых - иллюстрировать использование. не зная, как вы хотите использовать ЧЕВОТО, вы не сможете выработать годный дизайн. причина, и следствие. понимаете? по этой причине, грамотные юнит-тесты можно рассматривать, как альтернативу документации. возник вопрос по библиотеке? откройте тесты, и гляньте примеры, как это сделано там. что шаблоны значительно повышают сложность конструкций. а вперемешку с макросами, и вовсе превращаются в кашу для среднего программиста. под среднем программистом я подразумеваю человека с опытом. вот эти вот понты "да я за 5 секунд распарсил" - мне например, совершенно не интересны. я прекрасно знаю, что сама по себе техника SFINAE - тот ещё изврат. без спец подготовки, может запросто вбить в ступор. а вперемешку с рекурсивными шаблонами, да густо помазанное макросами - окончательно делает код неочевидным. на работе человек не должен тратить время на осознание художеств его коллег. если с ходу что-то не понятно - читаем комментарий(документацию/тесты), и сразу используем. осиляторством заниматься - только в не рабочее время.
0
|
||||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||||||||
| 11.02.2016, 11:28 | ||||||||
![]() Как ты хитроумно завернул предложение. Так суть - иллюстрация или построение годного дизайна? Это разные вещи. Вот заюзал я TDD, а потом удалил все тесты. Если суть - дизайн, то TDD не прошло бесполезно. Если же иллюстрация - время было потрачено зря. Собственно, вопрос риторический. Ну так это правда - на каждый макрос мне хватило 5 секунд ![]() ![]()
0
|
||||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||
| 11.02.2016, 13:16 | |||||||
|
делом вкуса это было бы, если бы была волшебная палочка, способная скрывать или показывать её. которые будут страдать и отгребать по полной, тщетно пытаясь покыть тестами механизмы задним числом. путем иллюстрирования собственных хотелок, на практических примерах использования. делается это до написания реализации механизма, по двум причинам: 1. невозможно сразу взять, и написать реализацию того, сам ещё не знаю чего. 2. тесты, как примеры-иллюстрации позволяют с минимальными затратами ресурсов и времени, понять проблемную область, и найти ответ на вопрос: "что я вообще пытаюсь построить?" вообще, по большому счету, заслуга TDD лишь в том, что оно формализует этапы разработки. фиксируя результаты (их можно контролировать не опасаясь регрессии) но ответы на вопросы дизайна так или иначе неизбежно будут вставать перед разработчиком в любом случае. не важно, использует он тестирование, или нет. вопрос лишь в том, сколько раз ему придется переписать код заново, пока до него допрет, какую задачу на самом деле ему нужно решить. юнит-тесты, как примеры-иллюстрации, сводят подобные издержки производства к минимуму. тривиально. распарсил все за 5 секунд. второй человек говорит: я вообще не понял про что здесь. и мне ссыкотно держать у себя в коде то, что я не понимаю. несколько озадачивает, когда умный человек ровняет всех по себе, не осознавая, что код один раз пишут, а потом много-много раз читают самые разные люди и комментарии пишутся не в расчете на него, такого красивого и умного (ему коментарии вообще могут быть избыточны, и только отвлекать зазря маяча перед глазами) а в рассчете на самых разных людей. многие из которых могут быть куда как более скромными в своих способностях. с учетом того, что бизнес уже давно расставил все по своим местам. бизнес не заинтересован оплачивать обучение "чуваков", которые чутка прорастают, и сваливают в другие компании. в нашей компании при жалении можно за счет конторы преобрести любую профессиональную литературу. но читать эти книги придется дома, а на работе нужно работать
0
|
|||||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|||||||
| 11.02.2016, 14:10 | |||||||
|
Если работают хорошие спецы, увлеченные разработкой, то они не будет все время делать работу, которая не растит их скилл. Они уйдут. Останется только бездушный планктон. Да и вообще я - не бизнес. А какое дело бизнесу до того, что я потратил несколько часов на повышение своей квалификации, если я решил свою задачу в срок? Добавлено через 1 минуту
0
|
|||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||||||
| 11.02.2016, 19:12 | |||||||||||
|
основная цель юнит-тестов - иллюстрировать дизайн. факт в том, что не все умеют работать молотком. и не все умеют работать с юнит-тестами. однако, мне не очень интересны ни первые, ни вторые. однако эти бонусы стоят того, что бы по окончанию работы не сливать их в унитаз. можно вместо документации использовать, например. комментарий пишется из расчета что его будут читать люди. разные люди, а не только члены команды. это - не интересно. интерес представляет тот фактор, что язык по прежнему устойчиво держится в топе. а это значит, что такой хороший парень, как я, всегда сможет прокормить им свою семью. хватит и на хлеб, и на масло. ещё и на медок останется. а в свободное время можно подтянуть другие промышленные языки. я вот в метро пока с работы еду, жаву почитываю. а во-вторых, существует такое заблуждение, якобы текучка - это зло. на самом деле все хорошо в миру. что бы вы повышали свою квалификацию. разумеется не в ущерб дисциплине. мне даже в голову не приходило такие вопросы задавать.
0
|
|||||||||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|||||||||
| 12.02.2016, 00:24 | |||||||||
![]()
0
|
|||||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||
| 12.02.2016, 01:09 | |||||||
|
то и имел ввиду некую капитанскую очевидность. все прочие определения "хорошего языка" - не более, чем влажные фантазии отдельных индивидуумов. мне это не интересно. там кстати весь джентельменский набор всяких авторов. взял недавно по базам данных, мне ребята говорят - пусть её, она старая возьми лучше вот эту... а вообще, там не только по плюсам. я вот себе по жаве прихватизировал. пока в метро домой еду - почитываю.
0
|
|||||||
| 12.02.2016, 01:09 | |
|
Важно: Насколько просядет посещаемость! Насколько важно разбавлять анкоры Насколько важно знание математики в программировании? Насколько важно количество внешних ссылок? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|