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

 
 
> Привдите пример хорошо написанного встроенного софта
BSVi
сообщение Mar 23 2009, 07:35
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 76
Регистрация: 18-12-07
Из: Киев
Пользователь №: 33 391



Хотелось бы посмотрить на исходники действительно качественно написанного софта (в особенности на C и для встроенных применений). Может у вас бывало такое - читаешь прогу и понимаешь - да, это очень хорошо написанно. Хочется поучится на чужом хорошем примере.


--------------------
http://bsvi.ru/ - блог эмбеддера
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DRUID3
сообщение Mar 27 2009, 06:42
Сообщение #2


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



Цитата(BSVi @ Mar 23 2009, 09:35) *
Хотелось бы посмотрить на исходники действительно качественно написанного софта (в особенности на C и для встроенных применений).

...ядро minix3 с комментами на русском. Нельзя сказать, что шедевр, но хороший пример того, сколько и где нужно комментариев чтобы человек прочитавший дополнительно книгу на 600 страниц за вами что-нибудь понял biggrin.gif . Есть еще UNIX V6 в комментах на англицом. Тоже шедевр без которого эта ОС вряд ли бы получила такое распространение. Кстати, насколько помню, именно с "зажатия" этой книжицы началась история BSD.

А словом "встроенные применения" не кидайтесь - это сейчас манечка кадровых агенств. Берете материнку VIA, лепите к ней эранчеГ, ставите XP и запитываете все от батареек - и вот оно - "встроенное применение". А еще "встроенное" бывает и на asm, и на FORTH и на FPGA(бу-га-га-га-га biggrin.gif )
Цитата(BSVi @ Mar 23 2009, 09:35) *
Может у вас бывало такое - читаешь прогу и понимаешь - да, это очень хорошо написанно. Хочется поучится на чужом хорошем примере.

ммм...нет 07.gif . Даже не представляю себе такого. src это все-таки не литература. Для меня программирование это посредник меду миром идей и реальной жизнью, оно не может быть самодостаточно.

Кстати о стиле - наверное я бы назвал стилем
1) программирования разбиение задачи на функции(для языка C) - архитектурный стиль,
2) применение языковых конструкций(терпеть не могу "олимпиадного" стиля программирования - это тупо) - синтаксический стиль
3) использование имен переменных, функций и нотаций - на порядок может облегчить "вникание в проект" - стиль оформления.

А уж никак не форматирование...
Но раз уж форматирование таки затронуто попугаю людей и я.

Все исходники форматирую утилитой AStyle стиль GNU. Она отлично работает и рекурсивно - отформатит любой по сложности проект. smile.gif Правда я извращенец, сознаюсь rolleyes.gif , определения функций у меня выглядят так

Код
/*============================================================================*/
/*
идея алгоритма помещенного в функцию в очень развернутом виде. Может кому-то
легко потом "наглаз парсить" исходник кем-то когда-то написанного адаптивного
фильтра, например, то мне даже свой бывает тяжело понять. А я не верю, что можно
использовать исходник не понимая идею туда помещенную. Имеется ввиду другим
программистом, а не для того чтобы собрать приложение если нет rpm, разумеется.
*/
fn_foo                                                        /* идея кратко, идет потом в .h */
(
type arg,                                                        /* это аргумент отвечающий за "a" */
type brg,                                                        /* это аргумент отвечающий за "b" */
type crg,                                                        /* это аргумент отвечающий за "c" */
...
)
/*----------------------------------------------------------------------------*/
{
  bla-bla-bla;                                                           /* 1 */
/*----------------------------------------------------------------------------*/
  blo-blo-blo;                                                           /* 2 */
}
/* 1 - ая сноска  */
/* 2 - ая сноска */


И чем ближе к основной функции тем больше нотации, использую чуть доработанную
венгерскую (что бы там не пищали линуксоиды-в-вере). Очень неплохо иногда
понимать передаешь ли ты(она, она, оно, они) указатель на указатель или массив массивов
- прямо из названия переменной.

Да, выглядит дико rolleyes.gif . Но... очень хорошо читается даже через годы, и очень быстро позволяет в
"нажитое непосильным трудом" вникать. Но это только "свое". Чужое я так не коверкаю,
разве только то, что уж очень подробно разбираю - т.е. нужны внутренности, а не просто вызов.


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- BSVi   Привдите пример хорошо написанного встроенного софта   Mar 23 2009, 07:35
- - Methane   Цитата(BSVi @ Mar 23 2009, 09:35) Хотелос...   Mar 23 2009, 07:47
- - demiurg_spb   Это для каждого слишком индивидуально. Есть конечн...   Mar 23 2009, 07:54
|- - Legotron   Но тем не менее, смотреть хорошо написанный чужой ...   Mar 23 2009, 16:47
|- - AlexandrY   Для этого надо знать откуда стили берутся. А берут...   Mar 23 2009, 22:18
|- - _Pasha   Цитата(Legotron @ Mar 23 2009, 19:47) P.S...   Mar 24 2009, 09:04
|- - Legotron   Цитата(_Pasha @ Mar 24 2009, 12:04) Вы на...   Mar 24 2009, 16:46
|- - MrYuran   Цитата(Legotron @ Mar 24 2009, 19:46) Не ...   Mar 27 2009, 07:20
- - Herz   Цитата(BSVi @ Mar 23 2009, 09:35) Хотелос...   Mar 23 2009, 22:08
- - DpInRock   ЦитатаПоэтому хорошо написанный исходник - это исх...   Mar 23 2009, 22:20
|- - AlexandrY   Э нет, исходник безразличный к IDE будет ужасен и ...   Mar 24 2009, 08:02
- - Anato   "Если бы строители строили здания так же, как...   Mar 23 2009, 22:28
|- - 777777   Цитата(Anato @ Mar 24 2009, 01:28) ...   Mar 24 2009, 07:59
- - BSVi   Цитата(DpInRock @ Mar 24 2009, 00:20) Хор...   Mar 24 2009, 07:43
- - BSVi   Флуда многовато. Из дельных ответов пока только uC...   Mar 24 2009, 08:34
- - Rst7   ЦитатаХотелось бы посмотрить на исходники действит...   Mar 24 2009, 09:33
|- - zltigo   Цитата(Rst7 @ Mar 24 2009, 12:33) Один из...   Mar 24 2009, 18:07
- - kurtis   Если есть желание посмотреть как пишут другие люди...   Mar 24 2009, 09:34
|- - _Pasha   Цитата(kurtis @ Mar 24 2009, 12:34) А как...   Mar 24 2009, 09:59
- - kurtis   А что Вы понимаете под программной с "недальн...   Mar 24 2009, 10:03
- - Rst7   ЦитатаС такими "скобочками" исходники у ...   Mar 24 2009, 20:16
|- - defunct   Цитата(Rst7 @ Mar 24 2009, 22:16) Я же сп...   Mar 27 2009, 02:07
|- - 777777   Цитата(defunct @ Mar 27 2009, 06:07) а эт...   Mar 31 2009, 09:42
- - Rst7   Цитатаwhile ( p != endfn ) putc(*p, out), p++;...   Mar 27 2009, 07:10
- - DRUID3   Добавлю, что code::block просто использует утилитк...   Mar 27 2009, 07:25
|- - dch   любой лоадер, например bios-lt   Mar 27 2009, 07:31
- - Rst7   ЦитатаВероятно это программа для Кейла Чернила дл...   Mar 31 2009, 11:07
|- - AlexandrY   Хм, на EDN нас услышали. Секреты технологии bug-ki...   Mar 31 2009, 11:26
|- - 777777   Цитата(Rst7 @ Mar 31 2009, 15:07) Чернила...   Apr 1 2009, 10:05
|- - defunct   Цитата(777777 @ Apr 1 2009, 13:05) Вероят...   Apr 1 2009, 12:23
|- - 777777   Цитата(defunct @ Apr 1 2009, 16:23) Ээээ,...   Apr 2 2009, 06:21
- - Rst7   ЦитатаНе смешно. Шутка того-же уровня, что и ...   Apr 1 2009, 10:55
- - SasaVitebsk   Хоть звучит самонадеянно и совсем не убедительно, ...   Apr 1 2009, 21:56


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

 


RSS Текстовая версия Сейчас: 19th August 2025 - 17:31
Рейтинг@Mail.ru


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