Практический пример внедрения инспекции кода



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

    Рассмотрим внедрение инспекций кода на примере проекта и структуры проектной команды. В команду входят две группы: в одной из них два разработчика и руководитель, в другой — три разработчика и руководитель. Разработчиков будем обозначать буквой D (Developer), а руководителей групп буквой L (Lead).

    Определим составы групп.
    Группа 1: D_1_1, D_1_2, D_1_3, L_1.
    Группа 2: D_2_1, D_2_2, L_2.

    Закрепляем инспекторов за деревом проекта.



    trunk/module_1 — отвечает группа 1.

    trunk/module_2 — отвечает группа 2.

    trunk/common — общая ответственность обеих групп, конкретных инспекторов назначает руководитель из числа членов собственной группы.

    Разработчик пишет код, который затрагивает модули обеих групп



    1. Разработчик D_1_2 решает какую-то задачу и в процессе решения пишет код, который затрагивает следующие пути: trunk/module_1/dev_1_1, trunk/module_2/dev_2_3.

    2. D_1_2 создаёт инспекцию и добавляет следующих участников.



    3. Руководитель L_2 назначает инспектором разработчика D_2_3.

    4. Итоговая таблица участников инспекции выглядит так.



    Разработчик пишет код в общий модуль




    1. Разработчик D_1_2 решает какую-то задачу и в процессе ее решения пишет код в trunk/common.
    2. D_1_2 создает инспекцию и добавляет следующих участников.



    3. Руководитель L_1 назначает инспектором себя.
    4. Руководитель L_2 назначает инспектором разработчика D_2_1.
    5. Итоговая таблица участников инспекции выглядит так.



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

    Следующая статья (как мы и обещали в первом топике) будет посвящена процессу автоматизации инспектирования с применением CodeCollaborator.
    До новых встреч!
    • +6
    • 16,4k
    • 3
    Positive Technologies
    245,00
    Компания
    Поделиться публикацией

    Похожие публикации

    Комментарии 3

      +4
      Слишком сложно и очень много бюрократии. У нас немного проще. Инспекторы отслеживают все чекины/комиты в проект. При каждом изменении приходит письмо с информацией о каждом файле; смотрим их, если не нравится пишем письмо отв. разработчику с замечаниями. Инспекторов получается несколько на один и тот же код. Заметить явные ошибки можно довольно быстро, при этом самому разработчику ничего знать о порядке инспектирования не надо. Работаем так уже несколько лет. Не нравится это только руководству, ведь затраты на инспектирование кода никак не посчитать без создания спец. задач.
        +1
        Думаю, у вас очень дисциплинированная команда, очень похвально.
        Напишу именно про себя и свой опыт.

        Когда мы использовали схему отслеживания commit’ов, то часть commit’ов оставлась в репозитории не проверенной.

        Иногда в «запарке», я откладывал проверку на потом, а там ещё commit’ов накидали и старые уже просто лень смотреть совсем, и этого потом так у меня и не наступало.
        Поэтому, дабы дисциплинировать себя самого, мы использовали инструмент, чтобы это «потом» однозначно наступало рано или поздно.

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

        Инструмент позволяет работать с изменениями наподобие wiki движка: все комментарии видны, удобство обсуждения и хорошо отслеживается история изменений по ходу общения.

        Меня в свою команду вы, видимо бы не взяли :)
        0
        На картинке со стрелками в крайней правой фигуре инспектор D_2_1, видимо.

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое