Перейти к содержанию
    

Привдите пример хорошо написанного встроенного софта

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

UCOS

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это для каждого слишком индивидуально. Есть конечно "общие" требования и соглашения. Но и они слишком общие.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Еще один вывод, который я для себя сделал: Нет предела совершенства:) к коду относиться на 100%.. не стоит тупо передерать чужие стили, не поняв, "а удобно ли вам самим так.."

 

P.S. кому-то удобно так:

xxx {

xx

xx

}

 

кому-то так:

xxx

{

xx

xx

}

 

:smile3009:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Видите ли, сначала придётся определить критерий. Что значит качественно написанный? Тем более для встроенных применений. Есть, к примеру, софт, написанный наглядно, хорошо оформленный, удобный для обучения, переносимости, но не всегда оптимальный по размеру, скорости выполнения, надёжности...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для этого надо знать откуда стили берутся.

А берутся они как я все больше понимаю от среды программирования.

Даже не от индивидуализма разработчика.

Именно IDE разработчика виновата в том как много он пишет комментов, как расставляет отступы и скобки, как именует и как работает с макросами.

 

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

 

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

 

 

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

Еще один вывод, который я для себя сделал: Нет предела совершенства:) к коду относиться на 100%.. не стоит тупо передерать чужие стили, не поняв, "а удобно ли вам самим так.."

 

P.S. кому-то удобно так:

xxx {

xx

xx

}

 

кому-то так:

xxx

{

xx

xx

}

 

:smile3009:

 

 

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

Такие и исходниками то назвать уже трудно по современным меркам.

 

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

А остается только для оценки тот самый стиль который как бы и есть косвенный показатель качества.

 

 

Видите ли, сначала придётся определить критерий. Что значит качественно написанный? Тем более для встроенных применений. Есть, к примеру, софт, написанный наглядно, хорошо оформленный, удобный для обучения, переносимости, но не всегда оптимальный по размеру, скорости выполнения, надёжности...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

Хорошо написанный исходник имеет всего два качества.

1. Оно работает.

2. Через год вы относительно легко вспоминаете за каким чертом тут всего понаписано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Если бы строители строили здания так же, как программисты пишут программы, первый залетевший дятел разрушил бы цивилизацию".

Закон Вейнберга

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Хорошо написанный исходник имеет всего два качества.

1. Оно работает.

2. Через год вы относительно легко вспоминаете за каким чертом тут всего понаписано.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Если бы строители строили здания так же, как программисты пишут программы, первый залетевший дятел разрушил бы цивилизацию".

Закон Вейнберга

Задолбали уже этим законом

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Такое часто можно видеть в опенсорсах.

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

 

Понимать алгоритм исходников программистом не так актуально как возможность свободно его броузить.

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

Но их все равно надо отлаживать и для этого они должны быть прозрачны для IDE в которой ведется отладка и для парсера этой IDE.

 

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

 

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

 

Хорошо написанный исходник имеет всего два качества.

1. Оно работает.

2. Через год вы относительно легко вспоминаете за каким чертом тут всего понаписано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

P.S. кому-то удобно так:

xxx {

xx

xx

}

 

кому-то так:

xxx

{

xx

xx

}

 

Вы написали ерунду, а все это пропустили мимо. Это не стиль, а формат документа. В том же Code::Blocks можно отформатить как угодно любой исходник. По теме: Вы не найдете хороших программ для МК, написанных на Си, потому что их просто нет. Увы :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Лично мене она показалась достаточно интересной, почти все рассматриваемые примеры написаны на Си.

 

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

А как отличить хорошую программу от плохой ? Плохая будет кусаться и ругаться матом ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...