Форум Программирование В помощь новичкам и любителям. |
|
Неа, это стиль из COBOL виконання програми розпочинається з того самого мiсця, де призупинилося. | ||||||
|
Пох чё это если честно - БольшаяВерблюжка или КоболСтайл. По-теме, будут ли востребованы примеры на разных языках? Или только дельфи? Кстати надо бы уже начать писать... Чисти код! Чисти код! Чисти код! | ||||||
|
Цитата (Gooddy): будут ли востребованы примеры на разных языках? Как исключение - возможно. Например, извращенская манера писать if ( CONSTANT == VARIABLE ) { ... } Догадываешься, наверное, почему так пишут Цитата (Gooddy): Или только дельфи? Для строгости - пусть будет Object Pascal, на собственническом компиляторе свет клином не сошелся. Насчет медиавики с неработающим мыло предложение в силе... виконання програми розпочинається з того самого мiсця, де призупинилося. | ||||||
|
Цитата (Gooddy): Вот содержание-список тем. Апробацию тут будем делать или сразу публиковать как статью, а там видно будет? Цитата (bugmenot): Есть такая мысль - взять халявный хостинг, взгромоздить туда dokuwiki и больше не мучаться с ужасным форумом. Потому что форум для статей и не предназначен. А что вы будете писать в Wiki — не представляю. А если это будет новый сайт, то ему тем более популярность будет непросто набрать. Цитата (bugmenot): Насчет медиавики с неработающим мыло предложение в силе... Мне сюда предлагали Wiki поставить, и это можно устроить, только я не понимаю, что в неё добавлять. | ||||||
|
Держу у себя всё на диске, вот первая статья, вводная. Немного надутая, немного эксцентричная, может даже очепятки есть. Принимайте. Если никаких вопросов за неделю не будет, то подвергаю форматированию, а дальше Самый Главный позаботится, чтобы текст попал куда надо. Оказалось немного короче (по объему) без полей. Возможно будет расширено, однако постарался как можно быстрее и интереснее описать, что можно получить если писать чище. --- Введение Какие ошибки не видит компилятор Почему я должен исправлять программу, которая работает? (в качестве иннотации) Ошибки которые не видит компилятор слишком сложны, чтобы компилятор смог их заметить и предложить решение. Сложно сходу привести аналогичный пример не из мира программирования. И вообще, что за ошибки не видит компилятор? Зачем их исправлять? Эти ошибки довольно простые - мы пишем лишний код, используем неподходящие решения, пишем как-попало, "лишь бы работало". Может показаться, что писать "лишь бы работало" быстрее для конечного результата. И это логично - программа пишется с одной целью - выполняться. Если она делает это правильно и достаточно быстро - задача выполнена. А когда мы пишем, учитывая такие факторы как читаемость кода, абстрактность, возможность повторного использования, мы распыляемся на 5-10 задач. Уже становится ясно, что написать красивый, чистый и хорошо читаемый код нужно потратить больше времени. Но на самом деле это не так. Что даёт чистый код и почему писать чисто быстрее: 1. Во-первых, даже если вы пишете один и никогда не планируете делиться своими исходниками, вы читаете свой код. Вы пишете код, компилируете, запускаете, затем читаете код, чтобы вспомнить куда идти дальше или просто ищете в нём ошибку. Помимо этого чистый код проще подвергать повторному использованию (хотя это и не показатель), что мало того, позволит писать ещё и короче. Чистый код позволяет писать быстрее 2. Во-вторых, любой код можно написать по-разному. Простой по своей сути код часто окажется и быстрее и чище и багов будет меньше. Конечно есть исключения. Часто приходится жертвовать чистотой, но ей можно пожертвовать в любой момент. А пока программа в стадии разработки - код должен быть кристально чист. Это значит что вместо x := #%@$#%@^#@%#@$#$ в программе вы будете встречать x := power(2, y) почти везде. Не тысячи непонятно как переплетающихся операторов, а простые и понятные строчки. Это сократит пространство для ошибок в сотни раз. Вы сможете написать программу на 50-100 строчек кода, скомпилировав её всего один раз - в конце, уже готовую. Чистый код предохраняет от ошибок 3. В-третьих, наверняка настанет момент, когда ваш код понадобится другим людям. И ДО этого момента нужно научиться писать чистый код. Это сильно ускорит дело, т.к. читать чужой чистый код намного проще и приятнее чем свой грязный. Чистый код помогает совместной разработке Хватит любого из этих пунктов, чтобы понять: писать чистый код значит писать быстро и точно. Хотя ладно, предположим сидит рядом с вами совсем уж злой дядька и даже теперь он хочет писать программы так как он привык. Вы думаете также? Привычное разве всегда лучшее? Можно ли двигаться вперёд, если пользоваться старыми методами? Я думаю, что можно. Но если у вас в глубине души есть желание стать лучше, писать быстрее код, который был бы лучше, то вы попали по-адресу. Итак, вы хотите улучшить свой навык программирования. Есть два способа, которые дают наилучший результат: 1. Читать учебники/справочники/сборники советов и программировать 2. Читать чужой код Первый метод хорош, но он позволяет выучить лишь базовые элементы языка. Второй же позволит взрастить в себе некий уникальный стиль программирования. Если привести похожий пример - первый способ позволит выучить ноты, интервалы и созвучия, но музыку вас писать не научит. Также и с программированием. Первый метод позволит выучить множество конструкций, приёмов, хитростей, но писать программы вы не научитесь. Конечно есть самородки, дошедшие до многих вещей своим умом, но не всем нам такое дано. Выкинем же все неуловимые ошибки из своей головы и начнём писать чистый код! Мы начнём действительно с ошибок, некоторые из них проявляются в исключительных случаях во время выполнения, некоторые вообще не вылезают - программа с такими ошибками работает прекрастно, но код становится мутным, непрозрачным и запутанным. Чисти код! Чисти код! Чисти код! | ||||||
|
Это всё ещё актуально? Просто перечитал МакКоннелла, а также прочитал Р. Мартина и М. Флауера. Теперь как то странно писать обо всём этом. Проще и полезнее будет отсылать всех читать ценнейшие труды этих авторов. Чисти код! Чисти код! Чисти код! | ||||||
Перейти в раздел:
© 2004 - 2024, Delphi.int.ru |
Версия форума: 1.10 (19.01.2010) |
Выполнено за 0.02 сек. |