|
|
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Всем добрый день, как то меня спросил преподаватель что считается хорошим тоном в программировании? как должен выглядеть красивый и читабельный код? недолго думая я ответил - что бы легко читался был локоничным и понятным всем кто его читает. а как считаете вы? если не сложно можете дать ссылку на статью где обсуждают данный вопрос) и если можно примеры которые по вашему мнение можно считать красивым кодом)))) очень любопытно что это такое красивый код и как его писать))) Модератор: Тема перенесена из форума "C++". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 18:10 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Иди на github.com и читай исходники. Годик хотя бы. Потом сам себе ответишь какие понятнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 19:59 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
LimsЯчто считается хорошим тоном в программировании? без бутылки здесь не разобраться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 22:31 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
goto же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 23:18 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
LimsЯВсем добрый день, как то меня спросил преподаватель что считается хорошим тоном в программировании? как должен выглядеть красивый и читабельный код? недолго думая я ответил - что бы легко читался был локоничным и понятным всем кто его читает. а как считаете вы? если не сложно можете дать ссылку на статью где обсуждают данный вопрос) и если можно примеры которые по вашему мнение можно считать красивым кодом)))) очень любопытно что это такое красивый код и как его писать))) Модератор: Тема перенесена из форума "C++". понятие "красивый код" неформализуемо. никто не сможет дать определение ему. да и вообще, я бы сказал, что это -вредное понятие, код должен работать правильно, и быть читаемым и поддерживаемым, больше от него ничего не требуется. и уж 100% нехорошо преподавателю задать такие вопросы, ну разве что с целью вызвать студента на какой-то диалог, дать повод к размышлению ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 23:35 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Как должен выглядеть красивый и читабельный код? вообще, самый красивый код - это тот, что еще не написан. Он же - самый нечитаемый. Самый читаемым код - helloworld , он же - самый бесполезный. нормальный промышленный код вообще как правило накрасив и плохочитаемый. Зато он работает, он полезен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 23:42 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Гугли "code smell". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2016, 12:12 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
LimsЯчто считается хорошим тоном в программировании?Хорошая программа похожа на красивый дом. В ней и фундамент /архитектура/ разумная и окна /функции/ красивые /не на перекосяк/ и поставлены в достаточном количестве и подходящем месте, ... В программе " плохого тона" все наоборот /как вроде при построении дома строителям надели повязки на глаза/. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2016, 12:33 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Красивый код - это код который помещается на одной визитной карточке :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. с таким результатом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2016, 21:09 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Есть отраслевые правила, типа Дейкстры. Есть правила языка типа PEP8. И есть корпоративные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2016, 21:38 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
MasterZiv... понятие "красивый код" неформализуемо. никто не сможет дать определение ему. +100 с ремаркой: Пару месяцев назад вышел на пенсию русский программист Александр Степанов. Сам он не использует слово "красивый" ни в качестве технического термина, ни в качестве оценочного. Студенту, твердо определившемуся в том, что программирование - его профессия ( и не только студенту) совсем не бесполезно было бы посмотреть пока лежащие на ютубе на канале A9 лекции. Мне сейчас пришел в голову такой вариант определения красоты "по Степанову" (с которым, почти наверно, он сам не согласится в смысле применимости термина "красота" применительно к коду): Чужой код красивый, когда изучая его ты понимаешь, что сам код на ту же тему выписал бы строго идентично, неотличимо точка в точу, вплоть до расстановки отступов. Идентичность кода двух программистов здесь рассматривается как высшая мера его "красоты". MasterZivда и вообще, я бы сказал, что это -вредное понятие, код должен работать правильно, и быть читаемым и поддерживаемым, больше от него ничего не требуется. +100500 в том месте, в каком человек приходит на форум и спрашивает - как мне нарисовать краксивый код. Но в смысле ремарки выше, как личная оценка, смысл которой состоит в том, что "если бы писал я, то несомненно сделал бы неотличимо точно также", "красивый" может быть использован как личная медаль, вручаемая одним программистом другому. MasterZivи уж 100% нехорошо преподавателю задать такие вопросы, ну разве что с целью вызвать студента на какой-то диалог, дать повод к размышлению В последнем смысле - очень хорошо, как минимум приемлемо. Как элемент постановки мозгов будущего ремесленника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2016, 22:02 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
красивый по словарю учитывая что 1 и 3-ее значения относятся строго к внешнему виду, думаю они тут не применимы (ну не знаю... можно попробовать команды в виде солнышка расположить, тогда он будет внешне красив, но не думаю что кто-то такой "красоте" будет рад) касательно же "2. Отличающийся полнотой и глубиной внутреннего содержания.". Ну вот.... Как по мне очень хорошо применимо к коду. Красивый код - это код, отличающийся своей полнотой и глубиной внутреннего содержания. То есть тот код, который более полно и глубоко решает возложенную на него задачу (к которому не прилагается 20 страниц пояснений, что надо сделать, что бы этот код решил поставленную задачу... как его надо настроить и подготовить, и какие ситуации надо обработать вручную, потому что этот код такого не делает) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2016, 23:25 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Я хз, Недавно, в целях оптимизации, мой код отдали на наладку другому человеку. В итоге, про*павшись 2 недели, он переписал 50 строк моего кода на свой, мотивируя "не разобрался". Глядя на его код, который мне прислали на проверку, и который втрое длиннее при той же парадигме конечного автомата, я в задумчивости. Который код красивее - тот, что ты написал, или который понятен всем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2016, 23:57 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Siemargl... Который код красивее - тот, что ты написал, или который понятен всем? Вот в точности строго на эту тему пятая лекция в серии Беседы о программировании. Где Шон Пэрент рассказывает о своем опыте работы в течении нескольких дней в качестве ревизора кода в компании Google ( 1я часть лекции 6я минута и далее) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2016, 00:19 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
LimsЯ, написан в принятом для данного языка стиле (для С, С# и Java они разные хотя синтаксически языки в одной группе), понятный без документации (имена методов и переменных), структурированный (можно расширять функционал меняя отдельные части/модули/методы а не монолит в виде путанного спагетти). Патчи должны легко читаться (для этого нужны пустые строки и изменения только тех частей которые относятся к заданию), для облегчения code review. Выражаю неодобрение тем в одной группе со мной кто коммитит косметические изменения и функционал втихую приплетает... ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2016, 04:28 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
SiemarglНедавно, в целях оптимизации, мой код отдали на наладку другому человеку. В итоге, про*павшись 2 недели, он переписал 50 строк моего кода на свой, мотивируя "не разобрался". Я думаю что он был отчасти прав. Для корпоративной разработки очень важна свободная циркуляция кода между всеми участниками команды. Если где-то есть затык - кто-то был очень гениален и написал умный но непонятный код - то этот гениальный код следует уничтожить для сохранения возможности командной работы. Можно конечно провести внутренние семинары и скрамы на тему понимания сложного фрагментано КМК любой тим-лид выберет вариант с переписыванием. Грубо говоря - хороший код - это код понятный команде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2016, 09:51 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Код следует писать руководствуясь правилом ясности: "Ясность лучше чем мастерство" "Поскольку обслуживание является важным и дорогостоящим, следует писать такие программы, как если бы обмен наиболее важной информацией, осуществляемый программой, был связан не с компьютером, выполняющим данную программу, а с людьми, которые будут читать и поддерживать исходный код в будущем (включая и самого создателя программы)." Эрик Реймонд, Искусство программирования для UNIX ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2016, 10:24 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
mayton, Ты говоришь о "красоте", как о единстве стиля. Что я не вижу способа опровергать. Но ты прими в расчет, что данное поэтом знание о том, что "Мысль изреченная есть ложь" - не является открытием Тютчева Федора Ивановича, а именно в таком виде и известно всем народам мира, которые хоть на каком-нибудь, любом и каждом, языке пытались выражать мысли словами. Лао Цзы сформулировал ее так: Высказанная вслух истина перестаёт быть таковой, ибо уже утратила первичную связь с моментом истинности. я так думаю - нельзя предугадать - был "прав" коллега, "налаживающий" код от Siemargl, или нет. В более-менее устойчивой команде некое единство стиля возникает само. Как раз именно благодаря "свободному перетеканию кода между всеми участниками команды". И, опять вспоминая Лао Цзы - не нужно стремиться быть полезным . Переформулированное Львом Толстым не стремление к полезности в недеяние прямо относится к скраму - не надо делать скрам, стремиться к нему и "внедрять". Устойчивая команда сама, без применения скрама, немедленно и автоматически отторгнет чужака с иными стилистическими представлениями о красоте кода, как немедленно и автоматически отторгла Шона Пэрента из Гугла, сразу после демонстрации им своих представлений о том, что такое с его точки зрения хороший код. Единство стиля есть несомненное свидетельство того, что команда сформирована, но не свидетельством собственно совершенства и качества кода в ней. А история Шона Пэрента, в свете вышесказанного, может быть вообще изложена как история ложной деятельности - бессмысленности позиции ревизора кода от слова совсем . Т.к. результат его деятельности принимается только, если заключается в тщательном охранении уже сформированного стиля, а любая попытка его усовершенствования будет отторгнута как неприемлемая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2016, 12:10 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
uid unique... Выражаю неодобрение тем в одной группе со мной кто коммитит косметические изменения и функционал втихую приплетает... ;-) Если вы тестировщик - ваше неодобрение не требует объяснений. Если вы администратор, то медаль рисуется как-то так: На одной стороне будут изображены инструменты, используемые для пресечения такой деятельности. В случае, например, когда это ломает интерфейсы межмодульного взаимодействия буквально или в смысле ожидаемого поведения компонента. На другой стороне попробуйте разглядеть следующее - риски естественной смерти вашей системы от дыхательной недостаточности, имхо, серьезно повышаются, если такая деятельность будет пресечена полностью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2016, 13:35 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
maytonSiemarglНедавно, в целях оптимизации, мой код отдали на наладку другому человеку. В итоге, про*павшись 2 недели, он переписал 50 строк моего кода на свой, мотивируя "не разобрался". Я думаю что он был отчасти прав. Для корпоративной разработки очень важна свободная циркуляция кода между всеми участниками команды. Если где-то есть затык - кто-то был очень гениален и написал умный но непонятный код - то этот гениальный код следует уничтожить для сохранения возможности командной работы. Можно конечно провести внутренние семинары и скрамы на тему понимания сложного фрагментано КМК любой тим-лид выберет вариант с переписыванием. Грубо говоря - хороший код - это код понятный команде. IMHO, если думать до конца то очень "вредная" позиция: если нивелировать работу команды разработчиков этим принципом то производимый код станет на уровне самого слабого игрока команды. Если ещё включить в рассмотрение что и команда со временем меняется и обычно, когда код уходит из стадии активной разработки в поддержку, на смену приходит более слабая команда, то надо сразу ориентироваться на "потенциального" слабейшего участника команды. Таким образом, руководствуясь этим принципом вы сведёте работу хороших и высокооплачиваемых специалистов до уровня студентов. Я почти уверен, специалисты быстро сбегут или соберут деньги и сбегут с поддержки. Следующий аспект: от студенческого кода не следует ожидать высокой эффективности. В итоге вы получите: дорогой код, который может поддерживать даже студент, и "слабый" продукт, которым часто недовольны потребители и который не конкурентноспособен. (дорогой продукт за много денег). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2016, 18:12 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Siemargl, тут... мы все рассуждаем о коде которого никто не видел. Ты мог-бы привести эти загадочные 50 строк и их рефакторинг? Разумеется ... предварительно убрав оттуда бизнес-сведения, имена e.t.c. Я думаю что после этого мнения аудитории несколько поменяются. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2016, 21:49 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
mayton, А ты читаешь релейную логику? =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2016, 22:44 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
(пожимает плечами) Не знаю. Но аудитория среагировала мгновенно. И заметьте - безо всяких предварительных сведений о специфике вашей предметной области. Вот я и заинтересовался первоисточником. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2016, 22:49 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
LimsЯВсем добрый день, как то меня спросил преподаватель что считается хорошим тоном в программировании? как должен выглядеть красивый и читабельный код? недолго думая я ответил - что бы легко читался был локоничным и понятным всем кто его читает. Вспомнилось: "Что важнее, форма или содержание?" (ц) "Вам шашечки или ехать?" (ц) "На вкус и цвет товарищей нет." (ц) "О вкусах не спорят." (ц) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2016, 09:32 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
maytonSiemarglНедавно, в целях оптимизации, мой код отдали на наладку другому человеку. В итоге, про*павшись 2 недели, он переписал 50 строк моего кода на свой, мотивируя "не разобрался". Я думаю что он был отчасти прав. Для корпоративной разработки очень важна свободная циркуляция кода между всеми участниками команды. Если где-то есть затык - кто-то был очень гениален и написал умный но непонятный код - то этот гениальный код следует уничтожить для сохранения возможности командной работы. Можно конечно провести внутренние семинары и скрамы на тему понимания сложного фрагментано КМК любой тим-лид выберет вариант с переписыванием. Грубо говоря - хороший код - это код понятный команде. Плюсую... стандартизация и возможность понять код новичку на проекте (и автору кода через полгода) важнее сжатия исходников. даже стилистика должна сохраняться, у непонятного кода скорее всего и стиль совершенно другой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2016, 16:38 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39267035&tid=1340592]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
60ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 372ms |

| 0 / 0 |
