Программные продукты не создаются равными, но есть 6 основных признаков, что программный код получился отличным!
На сегодняшний день ежеминутно программисты создают тысячи строк программного года, да что там говорить, только у Google в репозитории более 2х миллиардов строчек! Однако не всегда код одинаково качественен. Разработчики часто имеют свои предпочтения в вопросе “что отличает сырой код от хорошего”.
Чтобы разобраться, что же отличает хороший программный продукт от плохого “изнутри”, я пообщался с большим количеством разработчиков ПО с солидным стажем. Также я опирался на форумы, чтобы понять, что ожидают увидеть другие разработчики и с чем им приятнее работать.
Опираясь на вышеизложенные источники, я определил 6 характеристик “хорошего” программного кода.
1. Он легкочитаем.
Любой разработчик согласится, что один из наиболее важных показателей качества кода – это его читаемость. Код, который написан таким образом, что любой другой программист поймет, что там написано в кратчайший промежуток времени считается “высшим пилотажем”.
“Я считаю, что если я не могу понять намерений автора втечение 5 минут или даже меньше, то разработчик плохо старался,” заявил Luke Burnham, старший разработчик в Lionbridge. “Компьютеру абсолютно без разницы, какие имена у переменных и какие отступы, но людям не все равно. Код, написанный единожды, читается сотни и сотни раз в последующем на протяжении своей жизни. Использование внятных названий переменных и соблюдение необходимых отступов для улучшения читаемости кода делает код лучше.”
Анонимный старший разработчик с более, чем десятилетним опытом также поведал мне, что же есть “хороший код”, “Следование постоянному стилю написания кода (горизонтальные и вертикальные отступы, общий логический порядок)”. Также он сделал акцент на важности выбора “Названий переменных, имеющих смысл”.
“Чем быстрее коллега может увидеть код и понять его – тем быстрее приложение начнет развиваться (как функционально, так и экономически),” поведал комментатор Glennular на Stack Overflow. Его поддержал пользователь mojuba, заявив, “На самом деле нет четких рамок, с какой скоростью ты понимаешь код.”
2. Он хорошо документирован.
В дополнение к хорошему форматированию и именованию, комментарии также делают код более понятным. Но не просто любые комментарии, как пояснил Burnham: “Мне не нужны комментарии, поясняющие работу цикла For. Мне нужны комментарии, которые рассказывают ЗАЧЕМ код делает то, что делает. Я думаю, что хороший код имеет комментарии, поясняющие, что было в голове автора на момент написания.”
Как и было сказано, комментарии не только помогают коллегам читать ваш код, но и вам самим. Будьте добры к будущему себе, у которого не будет воспоминаний о том, о чем вы думаете сейчас. Даже если вы единственный, кто будет перечитывать и изменять ваш код, вы можете здорово облегчить себе задачу, выбирая хорошие именования и добавляя информативные комментарии.
Kevin Moylan, старший разработчик в Genuine Interactive подвел черту: “Комментарии – это важно.”
3. Он прост.
Даже маленькие кусочки кода могут делать очень сложные вещь, однако отличный код, по мнению программистов, обычно прост.
Moylan рассказал мне посредством email, что “Каждая частица кода должна делать строго одну работу и, если она делает ее хорошо, то позволяет следующей частице кода делать ее следующую работу. Лучше решения – это наипростейшие решения.”
Анонимный веб-разработчик, с которым я общался, предостерег от “большого количества дублицирования кода.” Он также посоветовал “Короткие, хорошо определенные функции, которые выполняют одну задачу и делают это хорошо.” Он пришел к этому после работы над одной 1000-строчной функцией, обслуживание которой было сущим кошмаром.
В конце большинство разработчиков сошлись во мнении, что сложность кода прямо пропорциональна количеству багов.
4. Он гибок.
Функциональность какой-то части кода часто подвергается изменениям, усовершенствованиям или повторному использованию в будущем. Поэтому Burnham посоветовал “Хороший программный продукт написан с учетом требований, предъявляемых сегодня, так и с учетом будущих улучшений.” Конечно, очевидно, что предсказывание будущего невозможно, он отметил, что “Я могу писать программу сегодня достаточно гибкую, чтобы в последующем адаптировать её к новым требованиям с минимальными изменениями.”
5. Его легко поддерживать.
Не важно, насколько хорошо написан код, неизбежно в нем могут оказаться ошибки. Moylan: “Очевидно, что кому-то придется исправлять их. Сделайте так, чтобы это было удобно, этим человеком можете оказаться вы сами.”
Поддерживаемость – это ключевой атрибут хорошего кода. “Весь код рано или поздно придется поддерживать, нет необходимости усложнять этот процесс.” резюмировал gbn на Stack Exchange.
Избежание таких случаев, как “жестко заданные значения для вещей, которые склонны к изменениям (URL, ключи доступа, пароли баз данных и т д)”, могут сильно упростить вопросы поддержки.
“Что отличает просто работающий код от прекрасного кода – его пригодность к поддержке.” David Rachamim написал на Quora.
6. Он работает.
В конечном счете, наиболее очевидной характеристикой хорошего программного кода является то, что он выполняет ту работу, для которой предназначен.
Burnham подытожил это простым утверждением: “Не важно, насколько код хорошо выглядит, если он не выполняет свои задачи – он плох.”
Для того, чтобы научиться этим и другим техникам написания хорошего программного кода, приглашаем на наши Курсы программирования в Минске.
Запишитесь прямо сейчас или закажите звонок с бесплатной консультацией!
Записаться сейчас / Бесплатная консультация