реклама на сайте
подробности

 
 
> как писать на С в 2016 году
Jenya7
сообщение Jan 25 2016, 15:06
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



прочитал интересную статью. решил поделиться.
https://habrahabr.ru/company/inoventica/blog/275685/
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
syoma
сообщение Jan 29 2016, 20:03
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Не знаю на счет веб дизайна и компьютерщиков, но помоему самые святые постулаты о том, как правильно писать на ембеддерном Си, пишет NASA в своих гайдлайнах и стандартах. Например http://lars-lab.jpl.nasa.gov/JPL_Coding_Standard_C.pdf
http://homepages.inf.ed.ac.uk/dts/pm/Papers/nasa-c-style.pdf и аналогичные. И подходят они и к Си1980 и к Си2016.
Так как написаны почти кровью, а точнее предназначены для написания критически важного для миссий софта.
Как по мне маст ноу каждого начинающего ембеддерного программиста.
К ним еще MISRA-C:2004 можно добавить.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 30 2016, 20:38
Сообщение #3


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(syoma @ Jan 29 2016, 22:03) *
И подходят они и к Си1980 и к Си2016.


О тут бы не согласился.
Стиль языков это отражение свойств редакторов, библиотек и средств разработки этих языков.
Очевидно же что пишущий в Notepad (что в прошлом и было) будет пропагандировать совсем другой стиль чем пишущий в Visual Studio с установленным Visual Assist.
Совершенствуются средства разработки и соответственно меняется стиль. Причем в корне.

Насчёт той же MISRA заморачиваться можно только если все пишете сами с нуля. Чуть сторонняя библиотека и можете MISRA отключать.

С другой стороны есть такие статические анализаторы как С-STAT у IAR. Крутейшая вещь. Никакой MISRA не надо.
Это тоже отправляет добрую часть старых рекомендаций в топку. С-STAT всё сам найдет и укажет что исправить.

Короче в 2016 будет продолжаться ослабление требований к стилям и усиливаться индивидуализация кодирования. То что некоторые называют "говнокодом". Хотя, надо бы банить за применение такого определения.





Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 31 2016, 11:16
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (AlexandrY @ Jan 30 2016, 22:38) *
Короче в 2016 будет продолжаться ослабление требований к стилям и усиливаться индивидуализация кодирования. То что некоторые называют "говнокодом". Хотя, надо бы банить за применение такого определения.

"Говнокодирование" и "индивидуальный стиль кодирования" это две абсолютно разные вещи. Одна другую не отменяет и не заменяет. Попытки прикрыть говнокодирование разговорами за "индивидуальный стиль" я бы назвал первейшим признаком говнокодера.


QUOTE (sigmaN @ Jan 31 2016, 11:28) *
Ну тут можно поспорить. С точки зрения принципов сокрытия информации тут как раз лучше подходит абстракция порта до номера, а не предлагать таскать везде этот указатель на структуру(хэндл) порта.

Указатель на стуктуру более, чем достойный уровень абстракции и хорош, как минимум тем, что должен быть получен в процессе инициализации системы и будет иметь свое имя.
Номер-же порта эта не абстракция а муть бесфоменная - вызов какой-либо функции с номером порта '9' не говорит ни очем. При этом еще в функции придется каждый раз разбираться есть-ли за этой абстракной цифрой что-то реальное бегая по каким-то дополнительно созданным стуктурам.
QUOTE
Эта структура по идее вообще должна как можно реже всплывать....

Всплывать или не всплывать это уже дело второе и не зависит от того, как выгдядит обращение к этой структкре. Но если используется номер порта, то добраться до любого эдемента стукруры можно только через пересчет номера порта в адрес этой же структкры. Лишние телодвижения, тогда когда в случае "хендла" доступ к, напимер, посмотреть на какой нибудь флаг статуса может быть вообще макросом разворачивающися в одну команду. "Номер порта" абсолютно ненужный ЛИШНИЙ уровень абстракции в подавляющем большинстве случаев.
Хотя опять-же какой к черту номер порта это уровень абстракции? Никакая это не абстракция - это антиабстакция, ибо когда Вы о нем говорите над Вами довлеет абсолютно ральный физический порт UART. А вот "хэндл" есть самая, что ни на есть абстракция - за ним уже может с неменьшим успехом стоять и гигабитный эзернет в качестве физического уровня.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Jenya7   как писать на С в 2016 году   Jan 25 2016, 15:06
- - EvilWrecker   А где тут интересные моменты? Всегда считал данный...   Jan 25 2016, 15:25
|- - alexunder   Цитата(EvilWrecker @ Jan 25 2016, 16:25) ...   Jan 26 2016, 22:12
|- - TSerg   Цитата(alexunder @ Jan 27 2016, 01:12) но...   Jan 26 2016, 22:14
- - Эдди   Быдлохабра сейчас еще хуже стала, потому что интер...   Jan 25 2016, 15:35
- - AlexandrY   Цитата(Jenya7 @ Jan 25 2016, 17:06) прочи...   Jan 25 2016, 15:41
- - Jenya7   ну лично для меня много интересных моментов котор...   Jan 25 2016, 15:42
|- - zltigo   QUOTE (Jenya7 @ Jan 25 2016, 17:42) мелоч...   Jan 25 2016, 15:55
- - Эдди   Jenya7, не надо на этот бред внимания обращать, по...   Jan 25 2016, 15:53
- - EvilWrecker   ЦитатаБыдлохабра сейчас еще хуже стала, потому что...   Jan 25 2016, 15:54
- - Сергей Борщ   Вот если совсем коротко - в 2016 году надо писать ...   Jan 25 2016, 16:17
|- - zltigo   QUOTE (Сергей Борщ @ Jan 25 2016, 18:14) ...   Jan 25 2016, 16:17
|- - Сергей Борщ   Цитата(zltigo @ Jan 25 2016, 18:17) Локал...   Jan 25 2016, 16:22
|- - zltigo   QUOTE (Сергей Борщ @ Jan 25 2016, 18:22) ...   Jan 25 2016, 17:01
- - smalcom   Цитатапрочитал интересную статью. решил поделиться...   Jan 25 2016, 16:18
- - krux   пожалуйста, не надо такого. особенно в разделе для...   Jan 25 2016, 17:10
|- - zltigo   QUOTE (krux @ Jan 25 2016, 19:10) не надо...   Jan 25 2016, 18:16
|- - krux   Цитата(zltigo @ Jan 25 2016, 21:16) Вы не...   Jan 25 2016, 18:58
- - ViKo   Ну, одну пользу я уже извлек - char нужно произнос...   Jan 25 2016, 18:31
|- - Сергей Борщ   Цитата(ViKo @ Jan 25 2016, 20:31) void pr...   Jan 25 2016, 19:59
- - Hexel   господа программисты, прокомментируйте пожалуста в...   Jan 25 2016, 20:26
|- - Dog Pawlowa   Цитата(Hexel @ Jan 25 2016, 23:26) проком...   Jan 26 2016, 07:01
|- - Сергей Борщ   Цитата(Hexel @ Jan 25 2016, 22:26) проком...   Jan 26 2016, 08:36
|- - Dog Pawlowa   Цитата(Сергей Борщ @ Jan 26 2016, 11:36) ...   Jan 26 2016, 09:45
||- - AlexandrY   Цитата(Dog Pawlowa @ Jan 26 2016, 11:45) ...   Jan 26 2016, 10:04
|- - zltigo   QUOTE (Сергей Борщ @ Jan 26 2016, 10:36) ...   Jan 26 2016, 10:04
- - smalcom   ЦитатаNULL vs Nil nullptr ) Цитатакогда носители ...   Jan 26 2016, 13:35
- - Ga_ry   Статью разбили в пух и прах. Так как все таки писа...   Jan 26 2016, 13:59
- - smalcom   ЦитатаТак как все таки писать на си в 2016, у кого...   Jan 26 2016, 14:58
- - Quasar   Какая-то обезьянская статья, ошибками называются в...   Jan 26 2016, 17:22
- - nill   Цитата(zltigo @ Jan 26 2016, 16:04) Прили...   Jan 27 2016, 05:07
|- - zltigo   QUOTE (nill @ Jan 27 2016, 07:07) zltigo,...   Jan 27 2016, 15:07
- - Herz   Господа! К сожалению, ветка уклонилась в обсуж...   Jan 28 2016, 21:18
|- - adnega   Цитата(Herz @ Jan 29 2016, 00:18) Давайте...   Jan 29 2016, 06:23
- - ViKo   Изучая исходники с github, заметил, что в качестве...   Jan 29 2016, 07:17
- - smalcom   Приведите пример, пжл. Как помне, то это не очень ...   Jan 29 2016, 08:12
- - ViKo   http://libopencm3.github.io/docs/latest/us...550c1...   Jan 29 2016, 08:15
- - sigmaN   Цитата(ViKo @ Jan 29 2016, 10:17) Изучая ...   Jan 29 2016, 18:41
|- - ViKo   Цитата(sigmaN @ Jan 29 2016, 21:41) Кажет...   Jan 29 2016, 18:54
|- - demiurg_spb   Цитата(ViKo @ Jan 29 2016, 21:54) libopen...   Jan 30 2016, 19:29
- - sigmaN   Просто по вашему описанию и у меня и у smalcom, ка...   Jan 29 2016, 19:06
- - sigmaN   Ну тоже, извините меня, глупо следовать жестким ст...   Jan 29 2016, 21:29
- - smalcom   Цитатаописывается какой-то "говнокод-подход...   Jan 29 2016, 22:12
- - sigmaN   ЦитатаТо что некоторые называют "говнокодом...   Jan 31 2016, 09:28
|- - AlexandrY   Цитата(sigmaN @ Jan 31 2016, 11:28) Т.е. ...   Jan 31 2016, 11:36
|- - zltigo   QUOTE (AlexandrY @ Jan 31 2016, 13:36) Да...   Jan 31 2016, 11:53
- - sigmaN   ЦитатаУказатель на стуктуру более, чем достойный у...   Jan 31 2016, 12:56
|- - zltigo   QUOTE (sigmaN @ Jan 31 2016, 14:56) А я г...   Jan 31 2016, 13:33
- - sigmaN   ЦитатаАга. Можно постараться и нагородить говнокод...   Jan 31 2016, 13:44
|- - zltigo   QUOTE (sigmaN @ Jan 31 2016, 15:44) Нет, ...   Jan 31 2016, 13:55
- - sigmaN   ЦитатаУ меня лет 20 уже тому назад в одной моей си...   Jan 31 2016, 14:29
- - zltigo   QUOTE (sigmaN @ Jan 31 2016, 16:29) так ч...   Jan 31 2016, 16:57


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 17:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01418 секунд с 7
ELECTRONIX ©2004-2016