February 17, 2021

Запас прочности

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

Разделяйте проект на небольшое количество слабо и обоснованно связанных компонентов. Каждая зависимость между компонентами должна иметь веские причины.

Ищите простые и понятные абстракции — классы и интерфейсы, ответственность которых ограниченна и очевидна.

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

Стремитесь к простым выражениям. Старайтесь делать их такими, чтобы можно было за пару секунд понять, что происходит. Должны настораживать: большое количество разных скобок, особенно вложенных, большое количество действий длина свыше 80 символов, разнесение на несколько строк.

Используйте одни и те же термины для одних и тех же сущностей в коде — domain-specific language. Выбирайте те термины, которыми вы думаете и используете в словесных объяснениях. Иногда используйте метафоры для названий. Придумывайте названия так, чтобы код читался, будто на естественном английском.