LINUX.ORG.RU

История изменений

Исправление shkolnick-kun, (текущая версия) :

cppcheck

Adlint - Чтобы словить тысячи варнингов и засуспендить болшую часть из них.

Ещё, в хорошем проекте должы быть тесты, по крайней мере чтобы регрессии отлавливать и править.

А в совсем хорошем не помешает использование CI.

pmccabe

Почитав тред попробовал https://github.com/terryyin/lizard ,словил высокие значения на свичах (конечный автомат с 16-ю состояниями сразу дает «высокорискованный» код).

Спасибо за наводку, можно будет делать эксрпресс-анализ чужого кода на предмет...

А чем посоветуете оценить взаимосвязи модулей?

Если первый раз вижу код - кормлю его диоксигену, смотрю графы включения заголовков, графы зависимости типов данных, графы вызовов.

Дальше либо вырисовывается картина стихийной разработки (признак - бардак в графах вызовов, например), либо не вырисовывается, и тогда нужно смотреть код более глубоко, например - статическими анализаторами и прочими кошерными инструментами.

Чтение исходников - последнее, что делаю.

Исходная версия shkolnick-kun, :

cppcheck

Adlint - Чтобы словить тысячи варнингов и засуспендить болшую часть из них.

Ещё, в хорошем проекте должы быть тесты, по крайней мере чтобы регрессии отлавливать и править.

А в совсем хорошем не помешает использование CI.

pmccabe

Почитав тред попробовал https://github.com/terryyin/lizard ,словил высокие значения на свичах (конечный автомат с 16-ю состояниями сражу дает «высокорискованный» код).

Спасибо за наводку, можно будет делать эксрпресс-анализ чужого кода на предмет...

А чем посоветуете оценить взаимосвязи модулей?

Если первый раз вижу код - кормлю его диоксигену, смотрю графы включения заголовков, графы зависимости типов данных, графы вызовов.

Дальше либо вырисовывается картина стихийной разработки (признак - бардак в графах вызовов, например), либо не вырисовывается, и тогда нужно смотреть код более глубоко, например - статическими анализаторами и прочими кошерными инструментами.

Чтение исходников - последнее, что делаю.