Code Review

Лютий 5th, 2009

“Doing reviews is the most important step you can
take to improve your software engineering performance”.

Watts Humphrey

Огляд або перевірка коду (Coding Review) — девелоперська практика попереднього перегляду і утверджувати коду іншими розробниками перед його заливкою на CVS.

Тобто, перед тим, як сабмітити свій код на cvs, ви даєте його на читання іншому програмістові. Той уважно (не бігло, а приділяючи цьому бодай 10-15 хвилин) його вичитує, вникає в логіку роботи, і намагається знайти у ньому, бодай очевидні помилки, або ж запропонувати інші, більш вдалі рішення вирішуваних вами задач. Якщо такі знаходяться, код повертається вам доопрацювання!

code_review_comic

Власне, навіщо це потрібно. Ну звісно ж, відповідь очевидна — у першу чергу, для підвищення якості коду. Адже, як відомо, одна голова добре, а дві — інколи, ліпше. Далеко не завжди певну роботу виконує програміст, який ліпше за усіх інших членів команди на ній знається. Та й, як би це банально, і до бридоти не серйозно й не звучало б, навіть початківці, зі своїм більше свіжим баченням та чистими від вбитих у голову шиблонів, можуть підкинути файну ідею.


Перша ідея для критики (а так роблять йолопи, бо не вміють думати і/або лінуються робити; ще так роблять нормальні люди, бо знають, що усе почуте і прочитане слід критично аналізувати), яка спадає на думку — це додаткові затрати часу, адже рев’ю тре робити не спішно, і витрачати на нього не менше 30-40 хвилин на день, до того ж, додатковий час йде на доопрацювання кооду. Думка ніби й логічна, але… Дайте мені відповідь на наступні питання:

  • Скільки у вашій команді QA?
  • Скільки ви їм платите?
  • Скільки часу вони витрачають на тестування?
  • Як дорого вам обходиться виправлення помилок на пізніх етапах процесу розробки?

    Тепер читайте далі. Є така компанія, Cisco Systems зветься. Так от, якось вона підрахувала, що на їхніх проектах, де використовується даний підхід, кількість баґів зменшилась у середньому на відсотків 60, при тому, критичні (читай дорогі) до пізніх етапів розробки програмного забезпечення майже не доживали.

    Серед інших, безумовно, дуже важливих, уже більшою мірою, для команди і компанії в цілому, ніж для проекту, зокрема, можна виділити наступні переваги:

  • Джуніори вчаться у сеніорів, оскільки регулярно читають їхній код, і бачать їхні підходи, вивчають їхні методології, тощо.;
  • Кожен програміст, навіть сеніор намагається писати свій код якомога якісніше, оскільки, знає, що його брудні хаки побачать інші, і розкритикують;
  • Ви вчитеся читати чужий код, а це, повірте, дуже не мало;
  • Ви більш тісно взаємодієте з іншими членами команди;
  • Ви краще розумієте частини проекту, над якими працюють ваші колеги, а тому у випадку чого, вам буде легше їх підмінити, та й загальну картина та стан проекту вам видніші, а часто буває дуже корисним…Для того, щоб цей процес був дійсно корисною частиною вашої роботи та профейсійного життя, а не перепростав у гру або ненависну вами практику, підковані хлопці дають кілька порад:
  • витрачайте на code riview не менше 30, але й не більше 60 хвилин на день;
  • ніколи, і ні за яких довбаних обставин не критикуйте своїх колег за їхні помилки, якими б дурними вони не були. давайте поради, пояснюйте, допомагайте їм вчитись, і не допускати подібних помилок у майбутньому;
  • сприймайте цей процес, як навчання, а не рутину…
  • 1 коментар to “Code Review”

    1. eater Says:

      Дякую, цікаво було почитати.

    Leave a Reply

    Get Adobe Flash playerPlugin by wpburn.com wordpress themes