Условности и соглашения

Jun 25, 2017 02:10

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

Вместе с именем репозитория это приводит вот к таким речекрякам:

/github/foobar/foobar/foobar.py

Rust стоит же на позиции, близкой к C/C++ (точнее, к некоторой части оного) - сырцы - в src. Это же автоматически снимает вяло поднятый вопрос почему в питоне код в именованном каталоге, а тесты - просто в test (tests). Такая модель более логичная - src, tests, etc.

Не то, чтобы это было очень важно, но из таких мелочей инженерная практика и складывается. Какой толщины должна быть линия на чертеже, в каком каталоге должны лежать сырцы.

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

Так что одна из целей хорошего software engineering должна быть в том, чтобы вызывать наименьшее количество недоумения у окружающих. Отсюда всякие стайлгайды кода и паттерны разработки в тривиальных вопросах. Хорошо знакомый с этими условностями человек, открыв хорошо написанный незнакомый ему код, просто пропустит его весь, ухватывая лишь важные детали и изменения. В хорошем коде все такие изменения будут иметь конкретную цель и нести с собой минимум, собственно, отклонений от "идеального, сферического в ваккууме, приложения".

rust, python

Previous post Next post
Up