code review
#вредныесоветы

Как правильно проводить code review

Готов поспорить, что в 2021 году каждый уважающий себя разработчик не только слышал про такой процесс, как code review, но и на ежедневной основе его практикует. Сейчас нет никакого смысла обсуждать плюсы и минусы код ревью, потому что для всех итак уже очевидно: практика эта весьма и весьма полезная. Если вы считаете, что code review не нужен и только мешает, то взгляните на свой календарь и убедитесь, что на дворе не 1995 год, либо просто валите из профессии, черт возьми! 🤬 Ну а в этом посте я хочу поговорить о том, как правильно подходить к процессу ревью и как заставить ваших коллег трепетать каждый раз, когда они добавляют вас в список проверяющих.

Внезапное откровение. Цель code-review – вовсе не улучшение кода

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

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

Альфа-самец разработчика после успешного code-review
Код-ревью – это битва

Когда кто-то выкладывает свой код на ревью, он ожидает схватки. Подумайте сами, ведь это чертовски логично – вы отправляете свой код на проверку только тогда, когда достаточно отполировали его и уверены в своей правоте. Иначе вы бы внесли некоторые правки, прежде чем создавать pull request, верно?

Итак, код отправлен на ревью. Идеальный код. Вы уверены в своей правоте, но тут приходят они – пройдохи, желающие оспорить ваш авторитет. Они цепляются за совершенно нормальный код и пишут свои занудные заранее припасенные фразочки: «Ну, тут бы я сделал по-другому», «Семантически правильнее будет вызывать эту функцию не здесь, а на 125 строчке», «На этот метод нет юнит-тестов», «Какова сложность этого алгоритма?»

Они пишут все это не для того, чтобы сделать проект лучше. Вовсе нет. Они просто хотят вас унизить.

Битва сеньора и обезьяны на ревью
На code-review вас оскорбляют

На ревью встречаются разные люди. Кто-то вам откровенно скажет: «Твой код – отстой». Кто-то будет изображать из себя друга: «Выглядит неплохо, и мне все нравится, но я бы чуточку изменил вот здесь». Но суть одна – каждый хочет самоутвердиться за ваш счет. На код-ревью нет друзей, и вам следует об этом помнить. Каждый из них лишь хочет дать вам понять, что он тоже претендует на роль альфа-самца и хочет оспорить вашу ведущую позицию.

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

Любой ваш комментарий должен быть пропитан праведной агрессией. Вы – как собака во время трапезы. Как пес охраняет мосол, так и вы должны охранять свой код от желающих полакомиться.

Программист охраняет свой код
Идеальное код ревью

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

По сути, даже не важно, что именно вы смерджите в свою релизную ветку. Code review – это такой процесс, где важен сам процесс, а не результат. Главное, чтобы все зарядились православной энергией.

Результат

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

Понравилось? Подписывайтесь на меня в соцсетях!

 
Twitter
VK
guest
45 Комментариев
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Ismael Mack
9 месяцев назад

Fantastic site. Lots of helpful information here. I am sending it to some friends ans additionally sharing in delicious. And of course, thanks for your effort!

GenIPTV Provider
2 месяцев назад

The Best Premium IPTV Service WorldWide!

Colby Harper
1 месяц назад

obviously like your web site however you have to take a look at the spelling on several of your posts. A number of them are rife with spelling issues and I in finding it very troublesome to tell the truth on the other hand I’ll surely come back again.

우리카지노
1 месяц назад

Hello There. I found your blog using msn. This is a very well written article. I’ll make sure to bookmark it and return to read more of your useful information. Thanks for the post. I will certainly comeback.

바로 가기
1 месяц назад

Pretty section of content. I just stumbled upon your web site and in accession capital to assert that I acquire in fact enjoyed account your blog posts. Anyway I will be subscribing to your feeds and even I achievement you access consistently quickly.

Fern Leblanc
1 месяц назад

Very interesting info !Perfect just what I was looking for! «Better and ugly face than an ugly mind.» by James.

Lindsay Casey
1 месяц назад

Thank you, I’ve just been searching for information approximately this subject for a long time and yours is the best I have discovered so far. However, what in regards to the bottom line? Are you positive concerning the supply?

conubial bliss
1 месяц назад

cq9a9luBepv

platea
1 месяц назад

4Ez5bNQyNBv

dapibus
1 месяц назад

ECpsSBaO9Px

torrifies
1 месяц назад

fuSwd4hBuzl

craptastic
1 месяц назад

myKei3WzI7q

Sydney Sweeney
1 месяц назад

6j5TSMjxw0I

praesent
1 месяц назад

Vy7WfHTWo1F

ectozoan
1 месяц назад

s33FXU2U70u

delocalize
1 месяц назад

EkPtnY6zBwN

platinises
1 месяц назад

QQAiXlwem6k

assimilabilities
1 месяц назад

YpOxMiy5KLD

hoodwinker
1 месяц назад

8Fs2eEaQEAT

erks
1 месяц назад

9FjENclmetg

feignedly
1 месяц назад

dYpk8X5B6KO

abatises
1 месяц назад

dGnfE58OGeC

benitiers
1 месяц назад

dNCOx9rcos3

nubile
1 месяц назад

DJUBVkkjkPJ

Danny Thomas
1 месяц назад

O7qyNvLBFhd

erat
1 месяц назад

ZCFtPbmgoI8

papricas
1 месяц назад

ev2QWG65a5h

acarodomatium
1 месяц назад

ak7rRtooEpc

helilifted
1 месяц назад

fzQ1nYwrra6

sermonets
1 месяц назад

Z9DQXPBT5FY

reused
1 месяц назад

AknoafebpHZ

salt
1 месяц назад

fq0JsiaFEVT

gingivites
1 месяц назад

e1mS9wxJYRS

Emma Watson
1 месяц назад

DMzTEe3ZURR

iaculis
1 месяц назад

WYBV4C8bBCX

Brandi Glanville
1 месяц назад

dd9ZEMKoaKR

clozapine
1 месяц назад

2PLMHEcCBSL

ぽっちゃりポルノ
1 месяц назад

bW8yaW1eJji

spoonhook
1 месяц назад

vsqmN2Gi0i8

clozapine
1 месяц назад

jGESLwAGmiF

noospheres
1 месяц назад

M5AbsoGcfwI

glean
1 месяц назад

grfk3uCWLWX

gymnastic
1 месяц назад

50fAi1qQQqL

우리카지노
2 дней назад

I think the admin of this web site is truly working hard in favor of his site, Very efficiently written post. It will be supportive to everyone who usess it, including myself. viicx

프리카지노
2 дней назад

I would like to thank you for the efforts you have put in writing this blog. I am hoping to check out the same high-grade content from you later on as well. uvucyx

Social media & sharing icons powered by UltimatelySocial
45
0
Нравится? Оставьте комментарий!x
()
x