Код-ревью — это практика в разработке программного обеспечения, когда более опытный специалист просматривает код и по итогам дает автору список улучшений, которые нужны, чтобы влить код в основную ветку проекта.
Ревью направлено на то, чтобы сделать код легко читаемым, масштабируемым, стабильным и безопасным.
В Девман код-ревью устроено так:Код-ревью от действующего разработчика. Это ключевое звено нашей методики обучения. Вы получаете список улучшений, которые расскажут про best practice, помогут сделать код оптимальнее, изящнее, чище. Код-ревью позволяет сократить время обучения в разы, подняв планку качества кода наших выпускников до уровня джун+/миддл.
Чистота кода. Мы используем обязательный стандарт Python
PEP8. В нем рассмотрены правила форматирования и наименования объектов. Он позволяет легко читать код, а не только писать. Часть ошибок отловит настроенный линтер, остальное получится найти только на ручном код-ревью.
В требованиях к коду нет единства, несмотря на то, что можно найти много
книг по чистоте кода. Поэтому в каждой компании они немного свои.
Улучшения Девмана. В улучшениях мы всегда указываем на то, чем предложенный вариант кода лучше и в какой ситуации. Почти всегда все сводится к улучшению читаемости, возможностей поддержки и масштабирования.
Наши ревьюеры руководствуются правилом «не уверен — не штрафуй». Если он не может аргументировать, чем предложенный вариант лучше, то вариант отклоняется. Мы не предъявляем безосновательных требований из серии «непреложная истина — просто делай так и не спрашивай». Если ученик не согласен с ревьюером, он может аргументировать свое возражение, опираясь на конкретные кейсы.
Контекст важен. Наши ревьюеры оценивают код только применительно к конкретной ситуации. Так, ООП незаменимо для Django ORM, но использование его для пары запросов через API усложнит поддержку и чтение кода. Не надо забивать гвозди микроскопом!
Накопление опыта. В Девмане мы накопили 20-летний опыт веб-разработки. Это позволяет сделать код стабильный, расширяемым и простым для поддержки. Автор курса Евгений Евсеев начинал программировать, когда еще даже первую Джангу только готовили к релизу!
База улучшений Девмана — это не просто опыт одного разработчика. Это копилка, куда мы собираем опыт многих специалистов.
Критика или советы. Мы рекомендуем не рассматривать улучшения, как список ошибок или критику. Если вы выполнили урок и код работает, это уже победа! Никто не может предусмотреть все возможные проблемы без многолетнего опыта программирования. Поэтому во время обучения лучше максимально «наступить на грабли». Так получится разобраться во всех неудачных решениях, чтобы не применять их в будущем.
Пропустить нельзя. В ходе обучения в Девман нельзя пропускать улучшения. Их все придется выполнить. В результате вы получите проект, который не стыдно добавить в портфолио. И не будете повторять неудачные решения в последующих уроках. По этой же причине нельзя пропустить урок, не сдав предыдущий.
Но мы рекомендуем проходить несколько тем параллельно. Так вы не потеряете время, пока ждете ревью. В разработке часто используют именно блокирующие код-ревью, когда без него нельзя влить код в main-ветку проекта. Это правило действует для всех уроков Девмана.