Что такое код-ревью

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

Когда вы пише­те новую функ­цию, она не попа­да­ет сра­зу в про­ект. Вме­сто это­го ваш код отправ­ля­ет­ся на код-ревью (code review).

Что делают на код-ревью

Во вре­мя код-ревью кто-то из стар­ших това­ри­щей изу­ча­ет ваш код на пред­мет:

  • Оши­бок.
  • Сти­ли­сти­ки — пише­те ли вы так, как при­ня­то в ком­па­нии.
  • Оформ­ле­ния кода — соблю­да­е­те ли вы отсту­пы и табу­ля­цию, что­бы код было лег­че читать.
  • Ком­мен­та­ри­ев — если в ком­па­нии при­ня­то ком­мен­ти­ро­вать клю­че­вые момен­ты в коде.
  • Адек­ват­ность реа­ли­за­ции — вы пред­ло­жи­ли изящ­ное реше­ние или реши­ли всё гру­бой силой? А что умест­нее в этой ситу­а­ции?
  • Вли­я­ния на про­ект — если вы пол­но­стью пере­пи­са­ли фор­мат пере­да­чи дан­ных на сер­вер, то это зна­чит, что дру­гим участ­ни­кам нуж­но будет под­стро­ить­ся под вас и пере­пи­сать свою часть. Это доро­го.
  • Уяз­ви­мо­стей в без­опас­но­сти — может ли что-то пой­ти не так, если зло­умыш­лен­ник решит исполь­зо­вать этот код в сво­их целях.

Если про­бле­мы есть, про­ве­ря­ю­щий отправ­ля­ет код на дора­бот­ку. Если всё хоро­шо, код пере­хо­дит на сле­ду­ю­щую ста­дию — как пра­ви­ло, в тести­ро­ва­ние.

Кто проводит

Обыч­но при­ня­то так: код-ревью дела­ют про­грам­ми­сты более стар­ше­го уров­ня. Джу­ни­о­ров про­ве­ря­ют мид­лы, мид­лов — сеньо­ры, сеньо­ров — дру­гие сеньо­ры или тим­ли­ды. Если ком­па­ния боль­шая, то могут выде­лить отдель­но несколь­ко чело­век, кото­рые смот­рят код у всех и сле­дят за общим сти­лем.

Если коман­да неболь­шая, то код-ревью дела­ет веду­щий про­грам­мист — он сам сле­дит за про­ек­том и за каче­ством кода, кото­рый пишут осталь­ные.

Как это выглядит

  1. Про­грам­мист напи­сал код и отдал его на про­вер­ку
  2. Про­ве­ря­ю­щий смот­рит код, исправ­ля­ет ошиб­ки или пишет свои ком­мен­та­рии. В малень­ких ком­па­ни­ях может встре­тить­ся лич­но и рас­ска­зать, что было не так с кодом и как это испра­вить.
  3. Если заме­ча­ний мно­го, автор идёт пере­де­лы­вать. Если мало или их нет — про­ве­ря­ю­щий дела­ет всё сам и пере­да­ёт код даль­ше.

Зачем это нужно

Если вы пише­те один или с дру­гом, то, ско­рее все­го, вам это не нуж­но. Вы и так може­те обсу­дить код меж­ду собой и понять, как его сде­лать луч­ше.

Когда в коман­де про­грам­ми­стов мно­го, то ком­па­ния стал­ки­ва­ет­ся с тем, что все пишут по-разному. И даже если весь этот код рабо­та­ет, его потом нуж­но под­дер­жи­вать, а ковы­рять­ся в чужом коде, если он пло­хо напи­сан — это дол­го и доро­го. Поэто­му на эта­пе код-ревью раз­ра­бот­чи­ки дела­ют так, что­бы им же позд­нее было про­ще под­дер­жи­вать код и ниче­го не лома­лось.