|
|
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Меня, как начинающего программиста, нтересует такой вопрос: Как определить "красоту" написанного кода и выбранного решения/алгоритма. Если работаешь один - без команды, и в принципе никто твоим кодом не интересуется, но все-таки в перспективе - работа с другими программистами. Иногда напишешь что-нибудь - работает, но нутром чуешь, что КРИВО!!! Может быть, есть способы научиться красивому стилю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 12:19 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Тренируй "волновой" способ - новый блок - сдвиг на 2 символа. Код: plaintext 1. 2. 3. 4. 5. 6. Месяц пройдет, прога заглючит, потом не вспомнишь что к чему. -------------------------- Мой сайт Deep Purple ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 12:29 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Привет, Я! Ты пишешь: ЯЯ> Иногда напишешь что-нибудь - работает, но нутром чуешь, что КРИВО!!! Я> Может быть, есть способынаучиться красивому стилю?изучай стиль Джо Селко. глубжее. -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 12:59 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#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. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. Страшно и громоздко? Зато функционально! --- Идеи движут Мир! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 13:10 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Привет, Alex_soldier! Ты пишешь: Alex_soldierAs> Идеи движут Мир!на месте ПМ убил бы нах! -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 13:16 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Alex_soldier Код: plaintext 1. 2. 3. 4. 5. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 13:22 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Alex_soldier// Зато функционально!Вам платят за каждый символ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 13:31 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Alex721 Alex_soldier// Зато функционально!Вам платят за каждый символ? Да-да, вы индус? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 14:11 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийна месте ПМ убил бы нах!А вы экстремальничаете, или ближе к RUP ? beluginВЫЗОВЫ: нет КЛАССЫ: нет ТИПЫ Д: нет КОНСТ : нет ГЛ.ПЕР: нет :)Что делать, здесь ничего этого не используется. Зато в других будет, поэтому и выдерживаю формат! Alex721Вам платят за каждый символ?Это я сам по себе не жадный! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 14:12 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Alex_soldier wrote: > Сама по себе красота кода бессмысленна, ведь мы должны не любоваться > кодом, а разобраться в нем. > Некрасивый == трудный для понимания. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 14:14 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Alex721 wrote: > Тренируй "волновой" способ - новый блок - сдвиг на 2 символа. А стандарты названий имен переменных? :) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 14:14 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
ErV А стандарты названий имен переменных? :) "Системная венгерская нотация"? Забудьте о ней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 14:24 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
ErVНекрасивый == трудный для понимания.А если точнее, то Некрасивый === трудный для понимания. ErVА стандарты названий имен переменных? :) Венгерская Нотация ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 14:26 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Хрюхрюшкин. wrote: > "Системная венгерская нотация"? Забудьте о ней. Венгерская нечитабельна. Я своей пользуюсь. В стиле Qt 4. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 14:27 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
ErV Венгерская нечитабельна. Я своей пользуюсь. В стиле Qt 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 14:28 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Извините, что прерываю беседу... Но я спрашивала не об этом. Возможно неправильно сформулировала. Меня интересует не оформление, а решение, алгоритм, подход, реализованный в программе... Дело в том, что никто не скажет мне, насколько код оптимаен, логичен, умен.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 14:37 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
ErV wrote: > Венгерская нечитабельна. Просто при виде венгерской нотации иногда вспоминаются сказки Лаймэна Фрэнка Баума. В одной из сказок было волшебноее слово, которое, будучи правильно произнесено, позволяло превращаться во что угодно. ТАк вот. Слово это писалось как "Пирцшгхгл". :) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 14:38 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Я НовенькаяИзвините, что прерываю беседу... Но я спрашивала не об этом. Возможно неправильно сформулировала. Меня интересует не оформление, а решение, алгоритм, подход, реализованный в программе... Дело в том, что никто не скажет мне, насколько код оптимаен, логичен, умен.... Зато найдется МАССА уродов, готовых рассказать обратное Приятно что Вас интересует это, это ХОРОШИЙ признак ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 14:40 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Я Новенькая wrote: > Меня интересует не оформление, а решение, алгоритм, подход, реализованный > в программе... Дело в том, что никто не скажет мне, насколько код > оптимаен, логичен, умен.... ИМХО, это только вам решать. Можно почитать информацию о Рефакторинге, и книжку "Жемчужины программирования", если она ещё в продаже есть (там описаны были некоторые не совсем тривиальные задачи и оригинальные пути их решения, плюс алгоритмы к этому). ЗЫ. Под стилем обычно все-таки оформление понимают... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 14:41 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
ErV wrote: > Можно почитать Ещё литературу по "Design Patterns". Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 14:42 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Я НовенькаяИзвините, что прерываю беседу... Но я спрашивала не об этом. Возможно неправильно сформулировала. Меня интересует не оформление, а решение, алгоритм, подход, реализованный в программе... Дело в том, что никто не скажет мне, насколько код оптимаен, логичен, умен.... В-общем, как начинающий программист, года 2-3 ты будешь писать не код, а говно. Потому будет лучше. Так что не парься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 14:44 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
*Потом будет лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 14:45 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Хрюхрюшкин.В-общем, как начинающий программист, года 2-3 ты будешь писать не код, а говно.+1024 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 14:45 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Спасибо за правду =)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 14:48 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Еще можно о красоте кода судить по его оптимальности. Обычно, в зависимости от ситуации, оптимизируют по: - количеству операторов в программе - быстродействию алгоритма - объему потребляемой памяти - времени написания кода --- Идеи движут Мир! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 15:12 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Alex_soldierЕще можно о красоте кода судить по его оптимальности. Обычно, в зависимости от ситуации, оптимизируют по: - количеству операторов в программе - быстродействию алгоритма - объему потребляемой памяти - времени написания кода 1) Неактуально. Лучше больше операторов, если будет понятнее. 2) + 3) В современных системах неактуально. 4) + ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 15:23 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Хрюхрюшкин.1) Неактуально. Лучше больше операторов, если будет понятнее. 3) В современных системах неактуально. 1) Понятнее как раз, где меньше. Скажем, из всех методов сортировок наиболее кратенький - пузырек, хотя и не самый оптимальный! 3) Если нужно крейтить сотни тысяч - миллионы объектов, то поневоле за каждый байтик начнешь цепляться! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 15:31 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Alex_soldier 3) Если нужно крейтить сотни тысяч - миллионы объектов, то поневоле за каждый байтик начнешь цепляться! Миллион объектов по килобайту, допустим? Это ж всего гиг. Неактуально :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 15:35 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Хрюхрюшкин.Миллион объектов по килобайту, допустим? Это ж всего гиг. Неактуально :) Допустим, по мегабайту... И допустим, только в одной из подсистем... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 16:01 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
мобильные телефоны, игровые приставки, разнообразные контроллеры, стиральные машины, телевизоры, ДВД, плееры - всё в топку? Не, пока актуально. Вон, в форуме на плюсах как раз человек пытается отловить нехватку памяти ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 16:03 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 16:06 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
egorychмобильные телефоны, игровые приставки, разнообразные контроллеры, стиральные машины, телевизоры, ДВД, плееры - всё в топку? Не, пока актуально. Вон, в форуме на плюсах как раз человек пытается отловить нехватку памяти Хм, извините. Я по своей области :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 16:10 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Хрюхрюшкин. Хм, извините. Я по своей области :) Гм.. Не знаю в какой области Вы на хлебушек с маслом и икрой зарабатываете, но скажите, 1Гб - вашей программе, 0.5 Гб - системе. Так где-то получается? Одной ЭВМ одна программа по Вашей логике? Или вы в живую машин с 1Гб и менее не видели давно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 16:20 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Pavel Kilevatyh Гм.. Не знаю в какой области Вы на хлебушек с маслом и икрой зарабатываете, но скажите, 1Гб - вашей программе, 0.5 Гб - системе. Так где-то получается? Одной ЭВМ одна программа по Вашей логике? Или вы в живую машин с 1Гб и менее не видели давно? 1) Система — это RHEL4 (2-16 Gb, 1-8 CPU) с минимум сервисов. 2) Менее 1 Гб — давно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 17:02 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
ErV Хрюхрюшкин. wrote: > "Системная венгерская нотация"? Забудьте о ней. Венгерская нечитабельна. Я своей пользуюсь. В стиле Qt 4. Posted via ActualForum NNTP Server 1.4 Совершенно верно. При всей красоте концепции - она все-таки наследие систем которые писались целиком на асемблере. Там не существовало разделение переменных по типам. Теперь за это отвечает IDE (во время написания) и компилятор (в период трансляции). По тому, лучше подлиннее давать имена, но имеющие смысл в приделах блока :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 17:04 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Хотя в Linux они называются демонами :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 17:07 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Некто в этом форуме говаривал "Вечны: смерть и налоги и т.д.". Я-бы добавил, что вечна нехватка оперативной памяти. Из личного опыта - сколько-бы её не ставили на DB и AS Servers, а всё равно найдёся такой "похрямист", который уложит её в своп. Поэтому рациональное пользование - это не просто стиль но и разумное ведение серверного хозяйства. Да можно кричать, бия себя кулаком в грудь, что "..сёдня DDR2 - по цене грязи и.т.д" но при прочих равных условиях, я бы делал ставку на более медленную разработку софта но аккуратное выделение ресурсов по мере необходимости, нежели огульное швыряние гигабайтов, пока всё не рухнет криком memory allocation error. ---------------- С уважением ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 20:14 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
mayton Поэтому рациональное пользование - это не просто стиль но и разумное ведение серверного хозяйства. Да можно кричать, бия себя кулаком в грудь, что "..сёдня DDR2 - по цене грязи и.т.д" но при прочих равных условиях, я бы делал ставку на более медленную разработку софта но аккуратное выделение ресурсов по мере необходимости, нежели огульное швыряние гигабайтов, пока всё не рухнет криком memory allocation error. Прости, а кто тебе даст вести более медленную разработку софта в таком ключе? :) Мне не дают. С оптимизацией по производительности еще ладно, тут всё понятно, на неё время выделяется. Но вот по памяти... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 20:21 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Привет, Хрюхрюшкин.! Ты пишешь: Хрюхрюшкин.Х> Но вот по памяти...интересно поговорить о минимизиции потребляемой памяти подручными средствами при разработке приложений БД. -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 20:25 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий Привет, Хрюхрюшкин.! Ты пишешь: Хрюхрюшкин.Х> Но вот по памяти...интересно поговорить о минимизиции потребляемой памяти подручными средствами при разработке приложений БД. -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.4 А это смотря что ты подразумеваешь под приложениями БД. Это код на PL/SQL, T-SQL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 20:27 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Я Новенькая. Дело в том, что никто не скажет мне, насколько код оптимаен, логичен, умен.... Зато найдется МАССА уродов, готовых рассказать обратное +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 20:38 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Вообще, вопрос в наше время редкий, приятно, что все-таки такое случается. Вразумительного ответа на этот вопрос нет. Можно прочесть очень много книг и пробовать разные формальные критерии (вроде тех, которые привел Alex_soldier ), но все это будет не то. Как человек отличает хороший рассказ от плохого? Разве можно сказать, что хорошем рассказе должно быть меньше/больше героев или, например, сцен? Программа - это и есть рассказ, он должен быть интересным и поучительным. Кстати, известно и такое правило: хорошую программу легко прочесть без дополнительной документации. В общем, Я Новенькая , действуй. По моим наблюдением, дерьмовый код пишут дольше, чем 2-3 года, только лет через 5-7 появляются, наконец, такие вещи, как почерк и стиль - т.е. вылупляется уже настоящий программист. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 23:25 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Alex88Вообще, вопрос в наше время редкий, приятно, что все-таки такое случается. Вразумительного ответа на этот вопрос нет.Вот именно поэтому, вопрос и редкий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 23:44 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
White Owl Alex88Вообще, вопрос в наше время редкий, приятно, что все-таки такое случается. Вразумительного ответа на этот вопрос нет.Вот именно поэтому, вопрос и редкий. нет, не по этому ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 08:30 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Alex88Программа - это и есть рассказ, он должен быть интересным и поучительным. Кстати, известно и такое правило: хорошую программу легко прочесть без дополнительной документации.+1 старайся писать с мыслью, что твою прогу будут править (делать изменения, жизнь не стоит на месте) другие кодеры, программисты, как хочешь мне приходилось делать изменения в программах, где было по сорок операторв go to в других прогах после оператора if, 500 или даже 1000 строк кода, затем else и так далее я не великий программист, поэтому достаточно долго в них ковырялся, а иногда просто заменял, отдельный пункт меню, своей процедурой короче пиши для других ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 09:38 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Я НовенькаяКак определить "красоту" написанного кода и выбранного решения/алгоритма. Самое общее соображение: текст программы должен максимально соответствовать исходной задаче. Т.е. в идеале по тексту программы без комментариев можно понять и саму задачу и способ ее решения. Пример: рекурсивный способ расчета факториала "красивее" итеративного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 09:53 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Я НовенькаяЗдравствуйте! Меня, как начинающего программиста, нтересует такой вопрос: Как определить "красоту" написанного кода и выбранного решения/алгоритма. Если работаешь один - без команды, и в принципе никто твоим кодом не интересуется, но все-таки в перспективе - работа с другими программистами. Иногда напишешь что-нибудь - работает, но нутром чуешь, что КРИВО!!! Может быть, есть способы научиться красивому стилю?Рекомендую почитать книгу Стива Макконелла "Совершенный код". Она - как раз ответ на ваши вопросы. Правда примеров на дельфи там почти нет, но книга и дельфинисту будет понятна. Есть еще книга Франческо Балена и Джузеппе Димауро "Современная практика программирования на VB.NET и С#.NET. В ней детально разжевываются общепринятые соглашения оформления кода на языке 3GL. Форматирование кода, соглашения об именовании идентификаторов, приемы программирования, и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 15:01 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Alex_soldierДля себя я разработал такое оформление: Первую мысль уже озвучили: такое впечатление, что Вам платят построчно. Alex_soldier myStr := StringReplace(myStr, '.', ',', [rfReplaceAll]); // Меняем точки на запятые try temp := StrToFloat(myStr); except result := False; end; Тут не только оформление надо лечить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 18:15 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Я НовенькаяМожет быть, есть способы научиться красивому стилю? Примерно такие же, как например "научиться красиво рисовать". Эта задача состоит из двух частей: научиться красиво думать и научиться четко выражать свои мысли. Второе - техническая задача; нарабатывается практикой, наблюдением за удачными примерами, расширением знаний (доступного набора средств) итп. Первое неформализуемо, по большому счету. Для этого надо научиться в первую очередь понимать красоту инженерного решения, и в любом случае будет довольно много субъективных факторов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 18:21 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
модСамое общее соображение: текст программы должен максимально соответствовать исходной задаче. Т.е. в идеале по тексту программы без комментариев можно понять и саму задачу и способ ее решения. Пример: рекурсивный способ расчета факториала "красивее" итеративного. Я не согласен с таким определением красоты. Существует куча примеров, когда красота проявляется именно трансформацией. Классический пример - табличный способ решения. Представьте себе примерно следующую постановку задачи: "Если клиент покупает товар за наличные, покупка разрешается, если только долг клиента перед магазином не составляет более $X - в этом случае мы зовем охранника и требуем сначала расплатиться с долгом, после чего, если у клиента остались деньги в необходимом объеме, покупка разрешается; если же не остались, клиент может купить в кредит, если долг окажется не более $Y. Если клиент покупает в кредит, то покупка разрешается, если его текущий долг составляет не более $Z, а новая сумма долга будет не более $T; однако, для клиентов категории VIP покупка в кредит разрешается вне зависимости от суммы долга. При оплате наличными бесплатная доставка действует для покупок ценой свыше $U, в противном случае доставка стоит $W; при покупке в кредит доставка стоит $W, если только не VIP-клиент, для которых доставка бесплатна" ......... В этом случае "текст программы, максимально соответствующий исходной задаче" будет ужасен во всех смыслах, а красивое решение заключается как раз-таки в переработке этого уродца в матрицу условий и результатов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 18:31 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Alex_soldierЕще можно о красоте кода судить по его оптимальности. Общепризнанна зависимость красоты инженерного решения от его целесообразности. В ряде случаев целесообразность - синоним оптимальности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 18:33 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Alex_soldierЕще можно о красоте кода судить по его оптимальности. Обычно, в зависимости от ситуации, оптимизируют по: - количеству операторов в программе - быстродействию алгоритма - объему потребляемой памяти - времени написания кода --- Идеи движут Мир! неа. лучше судить по точности выполнения поставленной задачи, не прогать лишнего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 19:18 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
мод Самое общее соображение: текст программы должен максимально соответствовать исходной задаче. Т.е. в идеале по тексту программы без комментариев можно понять и саму задачу и способ ее решения. Пример: рекурсивный способ расчета факториала "красивее" итеративного. Добавлю. В природе, красота тесно взаимосвязана с целесообразностью. Например, дельфин имеет форму тела, приспособленную к гидродинамике среды. Гепард обладает худощавым телосложением и особой системой лёгких и сердца, которые расчитанны на кратковременные но мощные нагрузки. Программирование также должно быть естественно-красивым. Например классические императивные алгоритмы должны иметь императивные реализации. Функциональные - наоборот. Попытка "притянуть за уши" или "навязать" имплементацию чужеродной среды закончится неудачей. Ибо - некрасиво. Например: некрасиво работать с файлами произвольного доступа на языке функционального программирования или пытатся моделировать синтаксический транслятор на PL/SQL или писать игру реального времени в экспертной системе. В этом контексте "некрасивость" можно развернуть как ворох синонимов: негибко, неудобно, небыстро, ненадёжно, нечитабельно, несопроводжабельно и... наконец нерентабельно . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 21:36 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
mayton мод Самое общее соображение: текст программы должен максимально соответствовать исходной задаче. Т.е. в идеале по тексту программы без комментариев можно понять и саму задачу и способ ее решения. Пример: рекурсивный способ расчета факториала "красивее" итеративного.не очень хороший пример с факториалом.. в особенности если учесть что его точный рассчет идёт только до 17, далее числа с мантиссой :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 22:00 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
softwarerВ этом случае "текст программы, максимально соответствующий исходной задаче" будет ужасен во всех смыслах, а красивое решение заключается как раз-таки в переработке этого уродца в матрицу условий и результатов. Так эта матрица и будет наиболее адекватна исходной задаче (т.к. дакларация всегда адекватнее императива). Пример однако: Код: plaintext 1. 2. 3. зы Лучшая книга по этому поводу http://lib.ru/CTOTOR/DEJKSTRA/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2007, 09:19 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Voyager-8не очень хороший пример с факториалом Рекурсивная программа совпадает с мат. определением - в этом суть. Т.е. в идеале записанная мат. постановка - это и и есть готовая программа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2007, 09:27 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
softwarerПервую мысль уже озвучили: такое впечатление, что Вам платят построчно.Еще раз отмечу, что делаю это бесплатно. В идеале большую часть должна генерить IDE, но пока не судьба. softwarerТут не только оформление надо лечить.Тут вообще ничего трогать не надо - фрагмент был приведен в целях демонстрации оформления. softwarerОбщепризнанна зависимость красоты инженерного решения от его целесообразности. В ряде случаев целесообразность - синоним оптимальности.Говорим об одном и том же! Voyager-8неа. лучше судить по точности выполнения поставленной задачи, не прогать лишнегоНеточное выполнение поставленной задачи - не является решением по определению! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2007, 10:08 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Привет, Alex_soldier! Ты пишешь: Alex_soldierAs> Еще раз отмечу, что делаю это бесплатно. As> В идеале большую часть должна генерить IDE, As> но пока не судьба.ОРЗРВВ -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2007, 12:11 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Позволю себе кое с чем не согласиться (что такое "ОРЗРВВ", я, к сожалению, не знаю) Начну с того, что в примере Alex_soldier кое-что, действительно, нуждается в исправлении: авторmyStr := StringReplace(myStr, '.', ',', [rfReplaceAll]); // Меняем точки на запятые Зачем здесь нужен комментарий? Однако, в общем, я согласен с Alex_soldier и тоже "делаю это бесплатно". Почему? Потому что меня не учили работать грязно. Когда вы покупаете мебель для кухни, пытаетесь собрать и видите, что отверстия не того диаметра и не на тех местах - чем это отличается от грязно написанной программы? А красиво работать - это не за деньги, просто иначе нельзя. Извините, мод , но по-моему, вариант (3) является наихудшим. С Voyager-8 тоже не могу согласиться. Вы все, наверное, знаете, что программу, "точно соответствующую посталенной задаче", но не подлежащую ни модификации, ни чтению (такую одноразовую поделку) можно слепить за полчаса и даже после поллитра водки. Но это, извините, не программирование, это называется блатным термином "лепить горбатого". Да, всем доводилось по необходимости, но это, между нами, не показатель профессионализма и не достижение. Горбатый - он и есть горбатый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2007, 21:22 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Alex88Начну с того, что в примере Alex_soldier кое-что, действительно, нуждается в исправлении: Я был бы согласен с Вашим замечанием, если бы не одно "но": здесь не нужен не только комментарий, а и строка, которую он комментирует. А среди нуждающегося в исправлении я бы назвал: 1. Неправильную работу подпрограммы при различных региональных настройках 2. Игнорирование делающей ту же работу стандартной функции 3. Совершенно ненужное исключение, затрудняющее работу в IDE (вынуждающее либо постоянно дергаться на эту проверку, либо игнорировать этот класс исключений) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2007, 21:32 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
модТак эта матрица и будет наиболее адекватна исходной задаче Только при очень расширенном восприятии "адекватности" - слова, которым Вы ненавязчиво заменили ранее употребленное "соответствие". Такая матрица, безусловно, "более адекватна". Но мифический постановщик, ставивший задачу в указанном виде, при взгляде на эту матрицу задачу "не узнает". И программист, врубающийся с нуля в код, глядя на матрицу, "не опознает" текст ТЗ, который он читал. мод3: x=if(x=1,2,1) все-таки вар.3 лучше Я бы сказал, лучше Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2007, 21:38 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
softwarer , да, неправильную работу при разных настройках я, признаюсь, не заметил. Однако исключение может быть вполне осмысленным, если используется где-то на внешних уровнях. Работа в IDE в большинстве случаев не является рабочим режимом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2007, 21:46 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
klen_... старайся писать с мыслью, что твою прогу будут править (делать изменения, жизнь не стоит на месте) другие кодеры, программисты, как хочешь Нафик-нафик. Учти прежде всего, что свою прогу будешь править именно ты. klen_...мне приходилось делать изменения в программах, где было по сорок операторв go to в других прогах после оператора if, 500 или даже 1000 строк кода, затем else и так далее я не великий программист, поэтому достаточно долго в них ковырялся, а иногда просто заменял, отдельный пункт меню, своей процедурой короче пиши для других Вот именно: klen_-у наплевать на чужой код; ишь какой - сразу все под себя переделывать стал. Короче: пиши для себя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2007, 21:49 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Alex88Однако исключение может быть вполне осмысленным, если используется где-то на внешних уровнях. Алекс, пожалуйста посмотрите еще раз на обсуждаемый код, потом на Ваш ответ, и ответьте еще раз, поудачнее. Alex88Работа в IDE в большинстве случаев не является рабочим режимом. Для кого? Программист значительную часть рабочего времени проводит в IDE. Поэтому код, осложняющий работу в IDE, является постоянно действующим штрафом к эффективности его труда - действующим каждый день все те годы, что используется эта функция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2007, 21:53 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Да, softwarer , посмотрел код. Что-то я сегодня тупой Но по 2-му вопросу остаюсь при своем мнении: программе не место в IDE, она должна работать на свободе. Если же функция настолько ценна, что используется во всех грядущих разработках, можно не полениться и избавить ее от глупо возникающих исключений. А лишние дерганья как раз и будут стимулом для этого. Не пишите для Себя, NextMan , Вам же хуже будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2007, 22:06 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Предлагаю занести это в какие-нибудь аналы =) Alex88 программе не место в IDE, она должна работать на свободе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2007, 22:16 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
интересно, а есть где-нибуть в сети примеры красиво (ну или хотя-бы просто правильно) разработанных программ ? Причем не только сам код, но и какая-нибудь документация к нему ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2007, 13:01 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Код: plaintext чтобы писать красивый/хороший/читабельный/всеохватывающий код прочтите книгу Макконели "Совершенный код", заодно и познакомиться можно с разными признаками и свойствами строк кода(или типа того:)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2007, 14:29 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
softwarerНо мифический постановщик, ставивший задачу в указанном виде, при взгляде на эту матрицу задачу "не узнает". И программист, врубающийся с нуля в код, глядя на матрицу, "не опознает" текст ТЗ, который он читал. Есть содержательная постановка задачи (на пальцах), а есть формальная - математическая. Я ессно имел ввиду только ее. softwarer Я бы сказал, лучше Код: plaintext 1. 2. Тоже вариант, но две строчки, да еще разнесенные по тексту ... (: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 09:15 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Всем спасибо, про региональные стандарты я не подумал, генерацию исключения тоже убрал. Но собственно, сам код в данном случае не важен, поскольку я привел пример своего стиля оформления. <->интересно, а есть где-нибуть в сети примеры красиво (ну или хотя-бы просто правильно) разработанных программ ? Причем не только сам код, но и какая-нибудь документация к нему ? К сожалению вы не оставили контакта. Напишите мне на e-mail. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 09:35 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Меня начало одолевать любопытство. В этой теме многие высказали свое мнение. А кто какого напрвления в программировании придерживается? XP, RUP, SCRUM, что-то еще ... Очень интересна статистика! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2007, 10:52 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Мое мнение таково, что ни одного из этих направлений в природе не существует как и широко обсуждаемых "тяжелых" и "легких" технологий. Вернее все это существует только в воображении IT-теоретиков, которые давно забыли, что такое программа и как ее писать. Поэтому лично я придерживаюсь направления, которое называется "программирование" (не путать с "кодированием" и "кликаньем контролов на формы"). И всем того же желаю. Извините, если кого обидел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2007, 23:25 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
На эту тему (и вообще для общего развития) стоит читать Кнута и его последователей: http://literateprogramming.com/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2007, 13:10 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Lalr_oneНа эту тему (и вообще для общего развития) стоит читать Кнута и его последователей: http://literateprogramming.com/ Кнут и Уоррен это пожалуй СЛИШКОМ красиво ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2007, 13:25 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Voyager-8не очень хороший пример с факториалом.. в особенности если учесть что его точный рассчет идёт только до 17, далее числа с мантиссой :) Вот так вообще красивее будет: fac n = foldl (*) 1 [1..n] И, что характерно, будет давать корректные результаты даже для n=1000 и больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2007, 14:42 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
fac n = foldl (*) 1 [1..n] :) поздравляю, вы -- "Another senior Haskell programmer" (извините, если боян) The Evolution of a Haskell Programmer ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2007, 15:24 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Alex88Мое мнение таково, что ни одного из этих направлений в природе не существует как и широко обсуждаемых "тяжелых" и "легких" технологий. Поэтому лично я придерживаюсь направления, которое называется "программирование" (не путать с "кодированием" и "кликаньем контролов на формы"). Очень улыбнуло, что вы не делаете различия между первыми, но не признаете общности вторых! Alex88Вернее все это существует только в воображении IT-теоретиков, которые давно забыли, что такое программа и как ее писать. Смею заметить, что методики были созданы как раз практиками на основе обобщения их колоссального опыта! Alex88Поэтому лично я придерживаюсь направления, которое называется "программирование"... Конечно, если программировать одному и для себя, такая формулировка может подойти (с оговорками). Но когда работает команда, тут уж извините, никак. Другое дело, что формально это можно и не признавать, применять что-то полуинтуитивно. Но по факту все равно достаточно отчетливо видны характерные черты той или иной методики. Собственно, по умолчанию это XP. Меня как раз интересовало, использует ли кто-то централизовано что-то другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2007, 17:05 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Lalr_one Voyager-8не очень хороший пример с факториалом.. в особенности если учесть что его точный рассчет идёт только до 17, далее числа с мантиссой :) Вот так вообще красивее будет: fac n = foldl (*) 1 [1..n] И, что характерно, будет давать корректные результаты даже для n=1000 и больше. fac n = product[1..n] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 00:00 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Хорошая книга по теме "Рефакторинг: улучшение существующего кода" Фаулера http://www.books.ru/shop/books/30436 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 17:13 |
|
||
|
"Красивый" стиль программирования (внутренняя красота кода)
|
|||
|---|---|---|---|
|
#18+
Самое главное: пишите как можно меньше СВОЕГО КОДА. СВОЙ КОД - ЭТО ОШИБКИ. Старайтесь всюду пользоваться библиотечными функциями : там ошибок МЕНЬШЕ, ЧЕМ У ВАС. И будет отмазка для наезжающих: "Надо знать стандартные библиотеки! Не учите Борланд жить!" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2007, 16:27 |
|
||
|
|

start [/forum/topic.php?all=1&fid=16&tid=1345758]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
110ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 521ms |

| 0 / 0 |
