суббота, 8 октября 2011 г.

Рутина

Натравил на код продукта другой статический анализатор. Выпало порядка 1500 замечаний.
Натравил только на код тестов. Выпало 20.
Посчитал концентрацию. В общем коде - 1,5 на 1000 строк. В коде тестов - 0,4 на 1000. Порадовался.
Посмотрел историю. Замечания коммитил не я. Еще раз порадовался.
Исправил половину. Теперь концентрация замечаний в коде тестов 0,2 на 1000 строк. Опять порадовался.
Подумал. Понял, что я не коммитил замечания просто потому что не умел так хачить. Погрустил, но счет все равно 3:1 в мою пользу.

Показал руководителю разработки. Предложил включить в CI.
Прикинули.
Включить в CI - пара часов. Приемлемо.
Исправить замечания - неделя. Может две. Фигово, но допустимо.
Исправить то, что сломается во время исправления замечаний - еще раза в четыре больше. Не катит.
Зато какой педагогический эффект! Надо подумать.

Теперь смотрю в сторону детектора копипасты...

Альбом: office


UPD: Ненене у нас не дремучая контора. И эти необходимые для программистов вещи используются. Но сильно не везде. Так что я изобретаю велосипеды и радуюсь.

7 комментариев:

  1. а зачем ещё какие-то "анализаторы"? неужели хорошего компилятора и профайлера не хватает? ведь средства разработки для программистов куда мощнее, чем какие-то сторонние поделки.

    ОтветитьУдалить
  2. Я о них и говорю. Я прикручивал их к CI

    ОтветитьУдалить
  3. Не все можно поймать компилятором, а уж профайлер - вообще узкоспециализированный инструмент. Статические анализаторы кода рулят в своей области.

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

    ОтветитьУдалить
  5. Мы говорим об одном и том же. Я учу наш CI всему что умеет IDE.

    Если вопрос состоит в том, достаточно ли локальных плагинов для эклипса или надо прикручивать все в CI - то я скажу что прикручивать надо.

    Причины просты.
    1. Графики для себя и начальства. Они мотивируют и позволяют отчитываться.
    2. Программисты забывают проверить. Ленятся. Некоторые еще не умеют. CI не забывает и не ленится.
    3. У нас большие проекты, и, например, у меня они даже выписаны не полностью, а только нужные мне части. CI выписывает все.

    ОтветитьУдалить
  6. C,C++,ассемблеры(правда, редко нужно),VHDL,AHDL.
    в основном, конечно, С, C++. впрочем, язык не имеет значения. я легко изучу любой. причём быстро. знаю и PHP, и PL/1, и даже на паскале писала давным-давно, хоть и ненавижу его люто :)
    важны не языки, а навыки программирования. я системный программист, разбираюсь в системах, железяках, протоколах низкого уровня. но параллельно увлекаюсь кроссплатформенным программированием, например.

    ОтветитьУдалить