Зачем нужен код-ревью?

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Привет, Хабрюзеры.

Недавно я устроился на вакансию Golang junior разработчика в новую компанию. Ранее я несколько лет программировал на PHP, пока не познакомился с Go. Думал, что моя мечта сбылась: я набрался опыта, стал более опытным специалистом и теперь могу продолжать развиваться. Однако, после выполнения задачи код, написанный мной, нужно было отправить на код-ревью. После этого мне приходили правки, которые я должен был исправить и снова отправить на ревью. Раньше я не понимал, зачем нужен этот процесс. На форумах и в сообществах многие писали, что код работает — и слава Богу, так зачем нужны эти ревью?

Теперь, после некоторого времени работы, я хотел бы поделиться своим мнением о код-ревью и объяснить, почему этот процесс важен.

Что такое код-ревью и зачем оно нужно?

Код-ревью (code review) — это процесс проверки кода другим разработчиком, который не писал этот код. Код-ревьюер играет важную роль в процессе разработки программного обеспечения по нескольким причинам:

  1. Повышение качества кода: Код-ревью помогает выявить ошибки и недочеты, которые могли быть пропущены автором кода. Это включает баги, потенциальные проблемы с производительностью и нарушения стиля кодирования.

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

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

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

  5. Выявление потенциальных уязвимостей безопасности: Код-ревьюеры могут заметить и предотвратить потенциальные уязвимости безопасности в коде, которые могли быть упущены автором.

  6. Улучшение документации и комментариев: Ревьюеры могут указать на недостатки в документации и комментариях к коду, что поможет сделать код более понятным для других разработчиков.

Основные задачи код-ревьюера

  1. Проверка логики и функциональности: Убедиться, что код работает правильно и соответствует требованиям, что не было упущено никаких важных деталей.

  2. Проверка тестов: Убедиться, что код покрыт тестами и что тесты написаны корректно.

  3. Анализ производительности: Оценить, как код повлияет на производительность системы, и предложить улучшения при необходимости.

  4. Проверка читаемости и поддерживаемости кода: Убедиться, что код легко читается и поддерживается, что соблюдаются принципы чистого кода (clean code).

  5. Оценка соблюдения стандартов: Проверить, что код соответствует стандартам и стилям, принятым в команде или компании.

Например

Исходный код

Разработчик написал следующую функцию для вычисления суммы квадратов чисел от 1 до n:

package main

import "fmt"

func sumOfSquares(n int) int {
    result := 0
    for i := 1; i <= n; i++ {
        result += i * i
    }
    return result
}

func main() {
    fmt.Println(sumOfSquares(10))
}

Код-ревью

Теперь давайте рассмотрим, как код-ревьюер может проверить этот код и предложить улучшения.

Комментарий 1: Обработка граничных случаев

func sumOfSquares(n int) int {
    if n <= 0 {
        return 0
    }
    result := 0
    for i := 1; i <= n; i++ {
        result += i * i
    }
    return result
}

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

Заключение

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

Так что, если вы сталкиваетесь с код-ревью, примите это как шанс улучшить свои навыки и внести вклад в качество проекта.

Источник: https://habr.com/ru/articles/831472/


Интересные статьи

Интересные статьи

Многие разработчики думают, что скрам-мастер — это просто бесполезный человек, который занимает место в команде и ничего нужного не делает. Да ещё получает за это деньги, когда на них можно было б...
За последнее десятилетие продакт-менеджерам цифровых продуктов удалось создать умопомрачительные смартфоны, самоуправляемые автомобили и устройства виртуальной реальности без применения продуктовой ан...
2021-й год стал первым годом, когда крупные компании начали понимать на практике, зачем же они следят за пользователями. До этого бигдата была инструментом поиска вещей, которые можно было сделать...
Уже давно я заглядывался на фреймворк для тестирования jest, в котором есть огромное количество всяких вкусных фишек, одна из которых — многопоточное выполнение тестов. При условии того, что у ...
Компании анонсируют искусственный интеллект в своей автоматизации, рассказывают о том, как они внедрили пару крутых систем обслуживания клиентов, но, звоня в техподдержку, мы продолжаем страдать ...