Previous Entry Share Next Entry
Gwyddion и PVS-studio
dn2010
Попросил триальную лицензию на линуксовую версию PVS-studio и прогнал проверку сборки текущей версии Gwyddion. По умолчанию оно утомляет предупреждениями о сравнении вещественного числа на равенство нулю (а у нас оно практически в каждом делении есть, в качестве проверки не делим ли мы на ноль) и делении двух целых чисел без предварительного приведения одного из них к вещественному. Ещё оно не очень понимает логику циклов и местами бросает лишние предупреждения на непроверенные указатели и неинициализированные переменные, хотя обычно код в этих местах действительно не очень чистый. А так нашлось несколько проблемных мест, простые в своём коде я уже переписал, осталось несколько сложных случаев, типа модуля загрузки Renishaw, который сам по себе сплошной отладочный код был в стиле "а как этот блок реально устроен должен быть" и представляет собой сплошную простыню подгрузки данных блок за блоком без разбивки на отдельные функции. Долго ковырялся с NTMDT, потом внезапно решил распечатать кусок сырых данных и обнаружил, что там одни нули в одном из блоков так и записаны.

?

Log in