ViKo 1 25 января, 2016 Опубликовано 25 января, 2016 · Жалоба Ну, одну пользу я уже извлек - char нужно произносить как "кар", в словаре посмотрел произношение character. :rolleyes: Еще одна - #pragma once void processAddBytesOverflow(void *input, uint32_t len) { ... вместо void processAddBytesOverflow(uint8_t *bytes, uint32_t len) { - не знаю, насколько это правильно, но на заметку можно взять Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 25 января, 2016 Опубликовано 25 января, 2016 · Жалоба Вы не путаете эмбеддеров с Web программистами??? молодежь как токарный станок - не имеет самоограничительных механизмов и имеет свойство наматывать на шкив всё что только может зацепиться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 25 января, 2016 Опубликовано 25 января, 2016 · Жалоба void processAddBytesOverflow(void *input, uint32_t len) { ... вместо void processAddBytesOverflow(uint8_t *bytes, uint32_t len) { - не знаю, насколько это правильно, но на заметку можно взять Не знаю что там делает processAddBytesOverflow, а вот send(void const *from, size_t len) или receive(void *to, size_t len) или dump(void const *from, size_t len) очень удобно: uint8_t A; uint32_t B; struct { uint32_t Aa; ..... } C; uint16_t D[8]; ... dump(&A, sizeof(A)); dump(&B, sizeof(B)); dump(&C, sizeof(C)); dump(&D, sizeof(D)); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Hexel 0 25 января, 2016 Опубликовано 25 января, 2016 · Жалоба господа программисты, прокомментируйте пожалуста вот это явление - стандарт безопасного написания кода https://www.securecoding.cert.org/confluenc...Coding+Standard зачем оно нужно, где применяется? я имею в виду это для embed, под винду, веб или в принципе для чего угодно? может так надо писать коды в 2016? =) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 26 января, 2016 Опубликовано 26 января, 2016 · Жалоба прокомментируйте пожалуста вот это явление Пожалуйста. Первое же требование к препроцессору, указывать оба варианта #ifdef / #else абсолютно по делу. Самый простой пусть избежать отправки заказчику прошивки с выключенным WDT, это указать #else #warning "WDT off!" #endif Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 26 января, 2016 Опубликовано 26 января, 2016 · Жалоба прокомментируйте пожалуста вот это явление - стандарт безопасного написания кода https://www.securecoding.cert.org/confluenc...Coding+Standard зачем оно нужно, где применяется? Почитал несколько пунктов. Все оказались из серии "не сушите кошек в микроволновке". Да, все они пишут правильно и именно так и надо делать, но разве кто-то делает иначе? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 26 января, 2016 Опубликовано 26 января, 2016 · Жалоба разве кто-то делает иначе? Увы, и это ужас ужасный. Мне приходится много работать с чужими проектами. За месяцы! не удается выправить то состояния, пригодного для комфортного сопровождения и развития. И проекты сложный, чтобы переписать все. Насколько я понимаю, вы работаете один. Повезло. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 26 января, 2016 Опубликовано 26 января, 2016 · Жалоба Мне приходится много работать с чужими проектами. За месяцы! не удается выправить то состояния, пригодного для комфортного сопровождения и развития. И проекты сложный, чтобы переписать все. Это называется не переписывание, а рефакторинг. Обязательная процедура при работе с любыми чужими исходниками. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 0 26 января, 2016 Опубликовано 26 января, 2016 · Жалоба Почитал несколько пунктов. Все оказались из серии "не сушите кошек в микроволновке". Да, все они пишут правильно и именно так и надо делать, но разве кто-то делает иначе? Присоединюсь к Dog Pawlowa уровень мусора зашкаливает. Я тоже имею очень много дел с чужими проектами, причем это как бы не типичный мусор из интернету, а коммерческие вещи писанные американцами-австралийцами-юаровцами-канадцами-немцами. Среди фамилий авторов я даже индийских не встречал, хотя каких-то славян, китайцев, пакистанцев этих да, есть. Прилично пишут только немцы. Самый беспредел это ЮАР. Но и остальные не далеко ушли. Типична дивная помесь вдолбленных за период обучения вполне из себя правильных приемов программирования, какой то дикой безмозголой отсебятины и белых ниток которыми все это шито. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 0 26 января, 2016 Опубликовано 26 января, 2016 · Жалоба Настоящему программисту должно быть вообще без разницы как написан код, достаточно только гарантий что он рабочий. То, что Вы написали, означает, что Вы не программист, а конечный потребитель или сшиватель белыми нитками - работает и ладно. Перед программистами сталкивающимися с чужим кодом стоит задача не использовать его, а исправить, поскольку он НЕ рабочий, или изменить, поскольку изменяется функциональность. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smalcom 0 26 января, 2016 Опубликовано 26 января, 2016 · Жалоба NULL vs Nil nullptr ) когда носители английского между собой будут Москву называть Москвой, вот тогда я буду говорить "форд мастэнг". Сейчас же я, говоря по-русски, использую русские правила транскрипции. + к тому же некоторые почему то забыли, что в английском и в его деривативе нет вообще ни буквы эр, ни звука эр. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
s_gary 0 26 января, 2016 Опубликовано 26 января, 2016 · Жалоба Статью разбили в пух и прах. Так как все таки писать на си в 2016, у кого-то есть идеи? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 26 января, 2016 Опубликовано 26 января, 2016 · Жалоба Ну вы нашли о чем спорить! Чар или кар! Давайте лучше советы по собственно языку обсуждать. Да сколько угодно. Вот возьмем CMSIS OS, которую упорно продвигает ARM Любители Keil RTX скоро должны обнаружить, что она не поддерживается на Cortex-M7 И всем массово надо будет переходить на CMSIS OS Так вот там повсеместно используют конструкции типа #define osSemaphoreDef(name) \ uint32_t os_semaphore_cb_##name[2] = { 0 }; \ const osSemaphoreDef_t os_semaphore_def_##name = { (os_semaphore_cb_##name) } #endif Вот мой совет на все времена: никогда не применять эту вот фигню - ## Из-за нее не работает нормально рефакторинг, появляются скрытые имена, затрудняется отладка. И все из-за того чтобы скрыть дополнительное объявление одной переменной от юзера. Это в опенсорсе то! И вообще языки должны делится на корпоративные и индивидуальные, а не на высшие и низшие или отраслевые ( для WEB-а, для сенсоров, для ракет и т.д.) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 26 января, 2016 Опубликовано 26 января, 2016 · Жалоба Вот мой совет на все времена: никогда не применять эту вот фигню - ## “Золотое правило жизни заключается в том, что нет никаких золотых правил” ;) Использую во всех проектах для кодирования состояний/функций/имен/текста в автоматах состояний. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 26 января, 2016 Опубликовано 26 января, 2016 · Жалоба Вот возьмем CMSIS OS, которую упорно продвигает ARM Любители Keil RTX скоро должны обнаружить, что она не поддерживается на Cortex-M7 И всем массово надо будет переходить на CMSIS OS Не знаю, что за CMSIS OS, а CMSIS RTOS как появилась в виде надстройки над RTX, так я ее и использую. http://www.keil.com/pack/doc/CMSIS/RTOS/html/index.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться