Сообщение Re: Качество кода CMake от 05.09.2019 10:58
Изменено 05.09.2019 11:03 DDDX
Re: Качество кода CMake
Здравствуйте, jul_nevermind, Вы писали:
_>CMake (от англ. cross-platform make) — это кроссплатформенная система автоматизации сборки программного обеспечения из исходного кода. CMake не занимается непосредственно сборкой, а лишь генерирует файлы управления сборкой из файлов CMakeLists.txt.
_>Недавно проект проверили разработчики статического анализатора и написали об этом статью. Прежде, чем прочитать ее, сможете сказать, что не так в этом коде?
Ответы я тоже не читал (не, таки заглянул )
Неправильная проверка ( > вместо >=) — это ладно.
А вот за приведение к (int) —
_>CMake (от англ. cross-platform make) — это кроссплатформенная система автоматизации сборки программного обеспечения из исходного кода. CMake не занимается непосредственно сборкой, а лишь генерирует файлы управления сборкой из файлов CMakeLists.txt.
_>Недавно проект проверили разработчики статического анализатора и написали об этом статью. Прежде, чем прочитать ее, сможете сказать, что не так в этом коде?
if (lensymbol > (int)(sizeof(lengthbases)/sizeof(lengthbases[0])))
goto bad_data;
len = lengthbases[lensymbol] + 2;
Ответы я тоже не читал (не, таки заглянул )
Неправильная проверка ( > вместо >=) — это ладно.
А вот за приведение к (int) —
Re: Качество кода CMake
Здравствуйте, jul_nevermind, Вы писали:
_>CMake (от англ. cross-platform make) — это кроссплатформенная система автоматизации сборки программного обеспечения из исходного кода. CMake не занимается непосредственно сборкой, а лишь генерирует файлы управления сборкой из файлов CMakeLists.txt.
_>Недавно проект проверили разработчики статического анализатора и написали об этом статью. Прежде, чем прочитать ее, сможете сказать, что не так в этом коде?
Ответы я тоже не читал (не, таки заглянул )
Неправильная проверка ( > вместо >=) — это ладно.
А вот за приведение к (int) —
UPD. Тут еще вопрос к типу lensymbol ... а ну как он знаковый и значение lensymbol может быть отрицательным?
_>CMake (от англ. cross-platform make) — это кроссплатформенная система автоматизации сборки программного обеспечения из исходного кода. CMake не занимается непосредственно сборкой, а лишь генерирует файлы управления сборкой из файлов CMakeLists.txt.
_>Недавно проект проверили разработчики статического анализатора и написали об этом статью. Прежде, чем прочитать ее, сможете сказать, что не так в этом коде?
if (lensymbol > (int)(sizeof(lengthbases)/sizeof(lengthbases[0])))
goto bad_data;
len = lengthbases[lensymbol] + 2;
Ответы я тоже не читал (не, таки заглянул )
Неправильная проверка ( > вместо >=) — это ладно.
А вот за приведение к (int) —
UPD. Тут еще вопрос к типу lensymbol ... а ну как он знаковый и значение lensymbol может быть отрицательным?