-
- Прикручивал splint к ряду проектов. Код чище помогает писать. Но вот чтобы отловить хитрый баг с его помощью - такого не было - amusin(18.07.2013 15:43)
- Может он помог не допустить хитрых багов ? :) - amx(18.07.2013 15:46)
- Да, это был один из мотивов его внедрения - amusin(18.07.2013 15:56)
- Ну а результат внедрения почувствовали? Хотя бы субъективно. - amx(18.07.2013 16:01)
- Я же написал, что код стал чище (вылизаннее). Метриками для оценки кач-ва кода не владею. А вывод простой - хорошая штука, при наличии времени стоит внедрять, встраивая в систему сборки. - amusin(18.07.2013 16:08)
- А что вы делали с записью констант в переменные типа char? amx(117 знак., 20.07.2013 11:31)
- Что-то не припомню такой проблемы. На какую строчку ругается? amusin(471 знак., 20.07.2013 11:41)
- Нашёл. Опция -type отключает проверку "type mismatch". - amx(20.07.2013 12:03)
- SCI1.SCR.BYTE = 0; (регистр типа unsigned char) amx(342 знак., 20.07.2013 11:48)
- Отрубил я ее опцией -type... - amusin(20.07.2013 12:02)
- Спасибо. - amx(20.07.2013 12:06)
- Отрубил я ее опцией -type... - amusin(20.07.2013 12:02)
- Что-то не припомню такой проблемы. На какую строчку ругается? amusin(471 знак., 20.07.2013 11:41)
- А что вы делали с записью констант в переменные типа char? amx(117 знак., 20.07.2013 11:31)
- Я же написал, что код стал чище (вылизаннее). Метриками для оценки кач-ва кода не владею. А вывод простой - хорошая штука, при наличии времени стоит внедрять, встраивая в систему сборки. - amusin(18.07.2013 16:08)
- Ну а результат внедрения почувствовали? Хотя бы субъективно. - amx(18.07.2013 16:01)
- Да, это был один из мотивов его внедрения - amusin(18.07.2013 15:56)
- Может он помог не допустить хитрых багов ? :) - amx(18.07.2013 15:46)
- Допустим с анализаторами кода понятно. А как обстоят дела с метриками? Кто-нибудь считает цикломатическую сложность или подобное? - amx(18.07.2013 15:11)
- Не использую. Только в GCC включаю -Wall -Wundef -Wcast-qual -Wpointer-arith -Wcast-align -Wwrite-strings -Wsign-compare, иногда -Wshadow, -Wmissing-declarations -Wmissing-prototypes. И причёсываю до 0 варнингов. Про MISRA ни одной не матерной fk0(52 знак., 18.07.2013 14:32)
- Спасибо, расширю свой набор. - amx(20.07.2013 12:10)
- Тема MISRA здесь затрагивалась несколько раз, и все пришли к выводу, что она накладывает излишние ограничения на фантазию программиста. Например, нельзя использовать #undef. Это значит, или я, или MISRA. - Vladimir Ljaschko(18.07.2013 12:48)
- IAR-у можно отключить некоторые проверки, думаю это лучше чем отказаться полностью. Собственно затеял обсуждение наткнувшись на обсуждение в рассылке по splint. ~233k строк кода для H8 и ни одного предупреждения, понятно что некоторые специфичные amx(40 знак., 18.07.2013 12:59, ссылка)
- Занятная цитата: "Our project is medium size for embeded microcontroller ... 233546 source lines". Ну что, товарищи, а какой у вас "средний размер программы"? :-) - SciFi(18.07.2013 13:48)
- Скорей embedded microprocessor. Такие объёмы не умещаются во внутренние памяти H8 (до мегабайта) или из 233 тыс. строк 2/3 и больше не используются, или там специфичное что-то (данные?), или там код в стиле "оплата сдельная, построчно". - fk0(18.07.2013 14:41)
- Там дальше есть: "It is not a soo big microcontroller, it is a Hitachi 2148 with 4K of RAM amx(89 знак., 18.07.2013 14:55)
- Ну да, примеры выдающегося кода имеюцца -> - SciFi(18.07.2013 15:01, ссылка)
- Реального кода там, наверное, строчек 10 :) - amx(18.07.2013 15:10 - 15:14)
- Последние 10 строк особенно ценны :) - Evgeny_CD(18.07.2013 15:35)
- Хотя на второй взгляд, это же не просто пустые комментарии, по ним генерируется документация, что есть очень даже ценно. - amx(18.07.2013 15:39)
- Для библиотеки прокатит: юзверю туда лезть не надо. А вот в обычном коде это аццкий бред: нельзя так уродовать исходник. - SciFi(18.07.2013 15:44)
- Это понял даже я. Тима закрывающих скобок, для доксижена. Так вот, делать это все надо по другому. Evgeny_CD(374 знак., 18.07.2013 15:42)
- Хотя на второй взгляд, это же не просто пустые комментарии, по ним генерируется документация, что есть очень даже ценно. - amx(18.07.2013 15:39)
- Последние 10 строк особенно ценны :) - Evgeny_CD(18.07.2013 15:35)
- Реального кода там, наверное, строчек 10 :) - amx(18.07.2013 15:10 - 15:14)
- Ну да, примеры выдающегося кода имеюцца -> - SciFi(18.07.2013 15:01, ссылка)
- Имею живой пример: 50000 строк - 100 килобайт кода. - SciFi(18.07.2013 14:51)
- PIC24: C30 v3.31, ~40-50к LOC -- 256к flash, грубо, k=5, float, const=18kbytes + 15kbytes во внешнем хранилище. fk0(1562 знак., 18.07.2013 16:16 - 16:19)
- Уточнение. Для AVR k=4! Любительские контроллеры не так уж и плохи (в проекте была atmega16 с 16к flash). - fk0(18.09.2013 20:57)
- Ну я так и подумал. Не люблю плотный код - читать тяжелее. - SciFi(18.07.2013 16:27)
- PIC24: C30 v3.31, ~40-50к LOC -- 256к flash, грубо, k=5, float, const=18kbytes + 15kbytes во внешнем хранилище. fk0(1562 знак., 18.07.2013 16:16 - 16:19)
- Там дальше есть: "It is not a soo big microcontroller, it is a Hitachi 2148 with 4K of RAM amx(89 знак., 18.07.2013 14:55)
- Скорей embedded microprocessor. Такие объёмы не умещаются во внутренние памяти H8 (до мегабайта) или из 233 тыс. строк 2/3 и больше не используются, или там специфичное что-то (данные?), или там код в стиле "оплата сдельная, построчно". - fk0(18.07.2013 14:41)
- Некоторые ничего не значащие ограничения остались и у меня, но смысла в них, если все потом дубиной заколочено? ;) - Vladimir Ljaschko(18.07.2013 13:29)
- Занятная цитата: "Our project is medium size for embeded microcontroller ... 233546 source lines". Ну что, товарищи, а какой у вас "средний размер программы"? :-) - SciFi(18.07.2013 13:48)
- lint весьма полезен, считаю - Snaky(18.07.2013 12:49)
- IAR-у можно отключить некоторые проверки, думаю это лучше чем отказаться полностью. Собственно затеял обсуждение наткнувшись на обсуждение в рассылке по splint. ~233k строк кода для H8 и ни одного предупреждения, понятно что некоторые специфичные amx(40 знак., 18.07.2013 12:59, ссылка)
- Прикручивал splint к ряду проектов. Код чище помогает писать. Но вот чтобы отловить хитрый баг с его помощью - такого не было - amusin(18.07.2013 15:43)