Шесть заповедей хорошего кода Перевод

German German 16 Сентября 2022 (ред)

В этой статье внештатный инженер-программист Закари Голдберг предлагает шесть простых идей, которые помогут вам создавать более качественное и удобное в сопровождении программное обеспечение.


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

Я не думаю, что из-за его относительной молодости у нас еще нет единого мнения о правильном определении «хорошего кода», поскольку это определение продолжает развиваться. Некоторые скажут, что «хороший код» — это код со 100-процентным покрытием тестами. Другие скажут, что он очень быстрый, имеет убийственную производительность и будет приемлемо работать на оборудовании 10-летней давности.

Хотя все это похвальные цели для разработчиков программного обеспечения, я рискну добавить еще одну цель: ремонтопригодность. В частности, «хороший код» — это код, который легко и просто поддерживается организацией (а не только его автором!) и который будет жить дольше, чем просто спринт, в котором он был написан.

Заповедь № 1: относитесь к своему коду так, как хотите, чтобы код других относился к вам

Я далеко не первый человек, который пишет, что основной аудиторией вашего кода является не компилятор/компьютер, а тот, кто будет читать, понимать, поддерживать и улучшать код (не обязательно через шесть месяцев будете вы). ). Любой достойный инженер может создать код, который «работает»; что отличает превосходного инженера, так это то, что он может эффективно писать поддерживаемый код, который поддерживает бизнес в долгосрочной перспективе, и обладает навыками простого, понятного и удобного для сопровождения решения проблем.

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

Заповедь № 2: Хороший код легко читать и понимать целиком и частично

Хороший код легко читается и понимается, частично и в целом, другими (а также и автором в будущем, пытающимся избежать синдрома «Я действительно это написал?» ).

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

Код, который постоянно ссылается на мельчайшие детали, влияющие на поведение из других (на первый взгляд, не относящихся к делу) частей кодовой базы, подобен чтению книги, где вы должны ссылаться на сноски или приложение в конце каждого предложения. Вы никогда не прочтете первую страницу!

Заповедь №5: Не переходи ручьи!

Есть много хороших моделей для программирования дизайна, pub/sub , актеров , MVC и т. д . Выберите то, что вам больше нравится, и придерживайтесь его. Различные виды логики, работающие с разными видами данных, должны быть физически изолированы в кодовой базе (опять же, это разделение концепций и снижение когнитивной нагрузки на будущего читателя). Например, код, который обновляет ваш пользовательский интерфейс, должен физически отличаться от кода, который вычисляет, что входит в пользовательский интерфейс.

Продолжение: https://www.toptal.com/software/six-commandments-of-good-code

1 Ответ

  1. answer answer 16 Сентября 2022 (ред.)

    Есть книга «Чистый код», у нее похожая тема, и в ней много практических советов по улучшению вашего кода. Я очень рекомендую её.