Quality Code : Timeless Principles

Efim Sirotkin
Clean Code
Published in
4 min readJul 30, 2019

--

Что значит писать качественный код.

Все мы люди и все мы разные, поэтому у каждого программиста свой взгляд на то, каким должен быть качественный код. Сколько людей столько и мнений. Мой чек-лист, который я использую для написания качественного кода, может не подойти вам, а ваш чек-лист — мне. Поэтому в этой короткой статье я расскажу о трёх вещах, которые, как мне кажется, очень важны, если речь идёт о качественном коде. Надеюсь, вам понравится.

И снова этот извечный вопрос

Сегодня вечером один мой друг спросил у меня: “Скажи, как мне понять, достаточно ли хорошо написан мой код? Дай мне несколько по-настоящему действенных советов и расскажи о практиках, которые помогут мне писать хороший код”.

Как я уже отметил выше, у каждого человека и у каждой IT-компании свои взгляды на этот счёт. Универсального набора рекомендаций нет. Вы никогда не сможете сказать: “Я следовал таким-то требованиям, поэтому мой код лучший. Никто не напишет его лучше меня”.

Тем не менее, есть некоторые вещи, которым вы должны следовать, если качество кода для вас не пустой звук. Я называю их “3 вечных принципа написания качественного кода”. Не путайте принципы с практиками написания кода. Их огромное множество. В этой статье я буду говорить о трёх принципах написания кода, которые, как мне кажется, необходимы для создания хорошего кода.

Ну что, давайте перейдём непосредственно к затронутой нами теме.

Благодаря моему наставнику, который рассказал мне о некоторых важных практиках и дал несколько важных советов, летняя стажировка была для меня очень полезной в отношении приобретенного опыта. Именно поэтому сейчас я могу поделиться с вами информацией. Намотайте себе на ус эти три принципа и помните о них во время кодинга!

1. Читаемость кода

Приступая к написанию кода, очень важно помнить о том, что, скорее всего, вы не будете работать над одним и тем же проектом всю свою жизнь. Когда-нибудь кто-то другой получит задание усовершенствовать начатый вами проект, добавить или изменить его функционал и т.п.

Всегда помните о том, что для того, чтобы работать с вашим кодом, вначале необходимо его прочитать. Если же код нечитабельный, то его автору пожелают «крепкого здоровья». Это шутка, но, как известно, в каждой шутке есть доля правды. Поставьте себя на место того, кому нужно разобраться с нечитаемым кодом. Несмешно, не так ли? Поэтому позаботьтесь о том, чтобы ваш код никогда не был источником негативных эмоций.

Немного погуглив, вы найдёте много советов о том, как сделать код более читабельным. Со своей стороны я хотел бы подчеркнуть следующие моменты:

  1. Пишите понятные комментарии и ведите документацию.
  2. Делайте необходимые отступы.
  3. Пишите код в соответствии с руководством по стилю.
  4. Соблюдайте принципы DRY.
  5. Избегайте вложений.
  6. Давайте понятные имена переменным.
  7. Соблюдайте правильную структуру проекта.

2. Масштабируемость

Это самый важный принцип для написания качественного кода. Весомым аспектом любого приложения является то, насколько хорошо оно поддерживает масштабируемость. Даже если вы работаете над приложением, которым сейчас пользуется лишь небольшая группа людей, не стоит забывать, что в будущем количество пользователей может сущесвенно увеличиться. Если же при стремительном росте пользователей ваш код не будет работает эффективно, оправдания типа “Он эффективен только при одновременном подключении сотни пользователей”, не удовлетворят заказчика.

При написании кода всегда нужно помнить о его последующей масштбируемости. Опять же, хотя в Интернете есть масса информации о том, как сделать свой код масштабируемым, я также хотел бы дать один совет. Оптимизируйте код так, чтобы свести к минимуму сложность кода, в соотношении используемого времени и его (кода) объёма.

3. Поддержка кода

Поддерживаемый код — это код с сильно выраженной когезией и низкой связанностью. Когезия кода определяет его связанность, читаемость и простоту. Связанность кода — это характеристика того, насколько взаимосвязаны разные части кода. Низкая связанность означает, что изменение кода для объекта A не должно влиять на поведение объекта B, который работает с A. Как правило, более низкая связанность означает более низкую когезию, и наоборот. Поэтому разработчику необходимо найти баланс между ними.
Источник: softwareengineering.stackexchange.com

Как я уже упоминал вначале, вряд ли вы будете писать один проект всю жизнь. Скорее всего, кто-то другой позже заменит вас. После завершения работы над проектом ваш код должен оставаться лёгким в поддержке (обслуживание, внесение изменений или обновлений и т.п.). Когда пишете код, убедитесь в том, что его легко сможет понять, изменить и протестировать другой программист.

Это все, что я хотел рассказать вам вкратце. Надеюсь, моя статья была для вас полезной и вы получили представление о принципах качественного кода.

Источник: medium

--

--