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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Привдите пример хорошо написанного встроенного софта
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
Methane
сообщение Mar 23 2009, 07:47
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



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

UCOS
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Mar 23 2009, 07:54
Сообщение #3


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Это для каждого слишком индивидуально. Есть конечно "общие" требования и соглашения. Но и они слишком общие.
Но поглядев на исходники и на их алгоритмизацию и концепцию сразу видно когда делал настоящий профессионал, а когда студент. Свой стиль, как собственно и профессионализм вырабатывается годами практи. Вы не сможете вот так просто взять и перенять. Это мой личный взгляд.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
Legotron
сообщение Mar 23 2009, 16:47
Сообщение #4


инопланетянин
***

Группа: Свой
Сообщений: 236
Регистрация: 24-12-06
Из: Питер
Пользователь №: 23 832



Но тем не менее, смотреть хорошо написанный чужой нужно как можно больше. Частенько возникает вопрос, а так ли хорош тот код, с которого вы берете пример?.. UCOS и UC-GUI тоже имеют недочеты, но уже либо совсем незначительные, либо просто концептуальные отличия от вашего собственного стиля smile.gif (сорри за отсутствие конкретных примеров и аргументов, ибо давно с ними не работал и непомню уже, что мне там не нравилось)
Еще один вывод, который я для себя сделал: Нет предела совершенстваsmile.gif к коду относиться на 100%.. не стоит тупо передерать чужие стили, не поняв, "а удобно ли вам самим так.."

P.S. кому-то удобно так:
xxx {
xx
xx
}

кому-то так:
xxx
{
xx
xx
}

smile3009.gif
Go to the top of the page
 
+Quote Post
Herz
сообщение Mar 23 2009, 22:08
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



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

Видите ли, сначала придётся определить критерий. Что значит качественно написанный? Тем более для встроенных применений. Есть, к примеру, софт, написанный наглядно, хорошо оформленный, удобный для обучения, переносимости, но не всегда оптимальный по размеру, скорости выполнения, надёжности...
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Mar 23 2009, 22:18
Сообщение #6


Ally
******

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



Для этого надо знать откуда стили берутся.
А берутся они как я все больше понимаю от среды программирования.
Даже не от индивидуализма разработчика.
Именно IDE разработчика виновата в том как много он пишет комментов, как расставляет отступы и скобки, как именует и как работает с макросами.

Новичка от профи как раз отличить очень сложно, поскольку корпоративные стандарты и обычная практика тащить куски друг у друга сильно нивелируют различия.

Поэтому хорошо написанный исходник - это исходник раскрывающий всю мощу IDE в которой он писался.


Цитата(Legotron @ Mar 23 2009, 18:47) *
Но тем не менее, смотреть хорошо написанный чужой нужно как можно больше. Частенько возникает вопрос, а так ли хорош тот код, с которого вы берете пример?.. UCOS и UC-GUI тоже имеют недочеты, но уже либо совсем незначительные, либо просто концептуальные отличия от вашего собственного стиля smile.gif (сорри за отсутствие конкретных примеров и аргументов, ибо давно с ними не работал и непомню уже, что мне там не нравилось)
Еще один вывод, который я для себя сделал: Нет предела совершенстваsmile.gif к коду относиться на 100%.. не стоит тупо передерать чужие стили, не поняв, "а удобно ли вам самим так.."

P.S. кому-то удобно так:
xxx {
xx
xx
}

кому-то так:
xxx
{
xx
xx
}

smile3009.gif



Такие критерии (скорость, размер, надежность) хороши для кусочков размером с пару экранов.
Такие и исходниками то назвать уже трудно по современным меркам.

А серьезные встроенны приложения как на uCLinux, eCOS, VxWorks уже по размеру, скорости, надежности никто не оценивает. Там это просто не реально сравнить.
А остается только для оценки тот самый стиль который как бы и есть косвенный показатель качества.


Цитата(Herz @ Mar 24 2009, 00:08) *
Видите ли, сначала придётся определить критерий. Что значит качественно написанный? Тем более для встроенных применений. Есть, к примеру, софт, написанный наглядно, хорошо оформленный, удобный для обучения, переносимости, но не всегда оптимальный по размеру, скорости выполнения, надёжности...
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Mar 23 2009, 22:20
Сообщение #7


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Цитата
Поэтому хорошо написанный исходник - это исходник раскрывающий всю мощу IDE в которой он писался.

Хорошо написанному исходнику глубоко по барабану в каком IDE он писался.

Хорошо написанный исходник имеет всего два качества.
1. Оно работает.
2. Через год вы относительно легко вспоминаете за каким чертом тут всего понаписано.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
Anato
сообщение Mar 23 2009, 22:28
Сообщение #8


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

Группа: Участник
Сообщений: 78
Регистрация: 22-01-07
Из: Москва
Пользователь №: 24 661



"Если бы строители строили здания так же, как программисты пишут программы, первый залетевший дятел разрушил бы цивилизацию".
Закон Вейнберга
Go to the top of the page
 
+Quote Post
BSVi
сообщение Mar 24 2009, 07:43
Сообщение #9


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

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



Цитата(DpInRock @ Mar 24 2009, 00:20) *
Хорошо написанному исходнику глубоко по барабану в каком IDE он писался.

Хорошо написанный исходник имеет всего два качества.
1. Оно работает.
2. Через год вы относительно легко вспоминаете за каким чертом тут всего понаписано.


Вот это я и имел ввиду. Скорость и обем в современных условиях - впонятия вторичные. Надежность - когда нужна, когда нет. Я лично убежден, что читать чужой код нужно - на своих ошибках учитсья дорого.


--------------------
http://bsvi.ru/ - блог эмбеддера
Go to the top of the page
 
+Quote Post
777777
сообщение Mar 24 2009, 07:59
Сообщение #10


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

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(Anato @ Mar 24 2009, 01:28) *
"Если бы строители строили здания так же, как программисты пишут программы, первый залетевший дятел разрушил бы цивилизацию".
Закон Вейнберга

Задолбали уже этим законом
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Mar 24 2009, 08:02
Сообщение #11


Ally
******

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



Э нет, исходник безразличный к IDE будет ужасен и отвратителен, потому что будет просто набит под завязку изощренными макросами и инструкциями условной компиляции.
Такое часто можно видеть в опенсорсах.
Именно потому и тяжело их портировать, что без серьезной чистки там даже спецализированные броузеры исходников не понимают.

Понимать алгоритм исходников программистом не так актуально как возможность свободно его броузить.
Многие вещи в исходниках вообще не надо знать как работают, например алгоритмы сжатия, кодирования в протоколах, внутренние структуры фаловых систем и GUI.
Но их все равно надо отлаживать и для этого они должны быть прозрачны для IDE в которой ведется отладка и для парсера этой IDE.

А работать ни один исходник не будет никогда. Официально признается что каждый килобайт кода в среднем содержит одну ошибку. wink.gif

Цитата(DpInRock @ Mar 24 2009, 00:20) *
Хорошо написанному исходнику глубоко по барабану в каком IDE он писался.

Хорошо написанный исходник имеет всего два качества.
1. Оно работает.
2. Через год вы относительно легко вспоминаете за каким чертом тут всего понаписано.
Go to the top of the page
 
+Quote Post
BSVi
сообщение Mar 24 2009, 08:34
Сообщение #12


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

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



Флуда многовато. Из дельных ответов пока только uCOS.


--------------------
http://bsvi.ru/ - блог эмбеддера
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Mar 24 2009, 09:04
Сообщение #13


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Legotron @ Mar 23 2009, 19:47) *
P.S. кому-то удобно так:
xxx {
xx
xx
}

кому-то так:
xxx
{
xx
xx
}


Вы написали ерунду, а все это пропустили мимо. Это не стиль, а формат документа. В том же Code::Blocks можно отформатить как угодно любой исходник. По теме: Вы не найдете хороших программ для МК, написанных на Си, потому что их просто нет. Увы sad.gif
Go to the top of the page
 
+Quote Post
Rst7
сообщение Mar 24 2009, 09:33
Сообщение #14


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Хотелось бы посмотрить на исходники действительно качественно написанного софта


Один из лично мне понравившихся стилей написания (не как скобочки форматировать, а различные моменты, связанные с обеспечением кроссплатформенности, например) можно посмотреть тут - http://www.ijg.org/files/jpegsrc.v6b.tar.gz

А вообще, тут больше дело вкуса. Мне, например, нравится арбуз, а сосед - свинной хрящик уважает. Так что рекомендую писать так, чтобы сами потом могли разобраться. Мифические "люди, которые придут после меня" могут идти лесом - за то, что они будут ковыряться в Вашем коде, деньги будут получать они, а не Вы, посему Вашего интереса в обеспечении читаемости исходников "для посторонних" нет. Кроме, конечно, отдельных случаев. Но тогда должен быть отдельный тариф wink.gif


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
kurtis
сообщение Mar 24 2009, 09:34
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



Если есть желание посмотреть как пишут другие люди, я бы порекомендовал почитать эту книгу http://www.rsdn.ru/res/book/prog/codeanalysis.xml
Лично мене она показалась достаточно интересной, почти все рассматриваемые примеры написаны на Си.

Цитата
Вы не найдете хороших программ для МК, написанных на Си, потому что их просто нет.

А как отличить хорошую программу от плохой ? Плохая будет кусаться и ругаться матом ?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 27th July 2025 - 16:00
Рейтинг@Mail.ru


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