Корпоративный стиль программирования, Сочиняю докУмент |
Здравствуйте, гость ( Вход | Регистрация )
Корпоративный стиль программирования, Сочиняю докУмент |
Гость_MrYuran_* |
13.8.2010, 15:18
Сообщение
#1
|
Гости |
Итак, руки таки дошли.
Предлагаю в данной теме родить документ, регламентирующий процесс разработки и документирования встраиваемого ПО. Код МЕТОДИКА РАЗРАБОТКИ ВСТРАИВАЕМОГО ПО. 1. Цель разработки данного документа. 1.1 Обеспечение единых унифицированных подходов к созданию встраиваемого ПО на предприятии, на основании общепринятых и отработанных методик. 1.2 Обеспечение переносимости программных модулей и компонентов как между проектами, так и между аппаратными платформами. 1.3 Унификация подходов к тестированию и верификации программных модулей и компонентов. 1.4 Ускорение сроков разработки и отладки ПО, как следствие пп. 1.1-1.3 1.5 Увеличение надёжности вследствие повторного использования отработанных программных модулей и компонентов. 1.6 Уменьшение трудоёмкости сопровождения и модификации ПО Предлагаю части документа выдавать параграфами/разделами в тегах [соде][/соде], а обсуждать - как обычно. PS: с нумерацией разделов можно не напрягаться, пусть машина думает. Важнее наполнение. Примерный грубый план документа: - спецификация проекта/модуля - основа основ и первоисточник. - программный модуль и его интерфейсы. - разделение программных слоёв для обеспечения переносимости. - методики тестирования и верификации модулей |
|
|
13.8.2010, 17:32
Сообщение
#2
|
|
сундук Группа: Пользователи Сообщений: 4043 Регистрация: 21.11.2009 Из: Ростов-на Дону Пользователь №: 15 |
|
|
|
16.8.2010, 13:55
Сообщение
#3
|
|
Активный участник Группа: Пользователи Сообщений: 41 Регистрация: 15.8.2010 Из: SPb Пользователь №: 197 |
Итак, руки таки дошли. Предлагаю в данной теме родить документ, регламентирующий процесс разработки и документирования встраиваемого ПО. Кстати, знакомы с книгой И. Соммервилла "Инженерия программного обеспечения"? Это, правда, не о встраиваемых системах, но как раз по Вашей теме. (Могу скинуть в DVJU-формате) |
|
|
Гость_MrYuran_* |
16.8.2010, 14:03
Сообщение
#4
|
Гости |
(Могу скинуть в DVJU-формате) Буду очень признателен. Макконела тоже никак не соберусь прочитать... С экрана - некогда, в бумаге - что-то в продаже не видать. А я в основном читаю в дороге, частуда-часобратно Быстрей бы уж китайцы всё своими планшетами стобаксовыми завалили |
|
|
16.8.2010, 14:07
Сообщение
#5
|
|
Активный участник Группа: Пользователи Сообщений: 41 Регистрация: 15.8.2010 Из: SPb Пользователь №: 197 |
Буду очень признателен. Макконела тоже никак не соберусь прочитать... С экрана - некогда, в бумаге - что-то в продаже не видать. А я в основном читаю в дороге, частуда-часобратно Быстрей бы уж китайцы всё своими планшетами стобаксовыми завалили Куда слать (9 мб)? (Макконела тоже могу прислать, но тоже в djvu 21мб) |
|
|
Гость_MrYuran_* |
16.8.2010, 14:13
Сообщение
#6
|
Гости |
Куда слать (9 мб)? (Макконела тоже могу прислать, но тоже в djvu 21мб) Если получится, можно в личку. (у меня вроде ограничение 9.77МБ) Или в профиле есть "послать по емэйл" Отписал в личку. Спасибо, получил, глянул - есть что почитать. Только опять некогда... Если сегодня-завтра не сдам июньский проект, начальник в среду |
|
|
29.8.2010, 17:49
Сообщение
#7
|
|
сундук Группа: Пользователи Сообщений: 4043 Регистрация: 21.11.2009 Из: Ростов-на Дону Пользователь №: 15 |
Если получится, можно в личку. (у меня вроде ограничение 9.77МБ) Или в профиле есть "послать по емэйл" Отписал в личку. Спасибо, получил, глянул - есть что почитать. Только опять некогда... Если сегодня-завтра не сдам июньский проект, начальник в среду Как идет работа над документами? В смысле, над кооперативным программированием. |
|
|
Гость_MrYuran_* |
30.8.2010, 6:47
Сообщение
#8
|
Гости |
Как идет работа над документами? В смысле, над кооперативным программированием. На той неделе связал три железки в один узел, одна с другой сквозь третью. В очередной раз, после нескольких часов вылавливания блох, убедился в пользе повторного использования проверенных компонентов по сравнению с выборочным копи-пастом (или пейстом?) Тупо скопировал процедурки с одного УАРТа на другой, поменял всё, что надо, кроме адреса буфера... Действительно, АЦП был[о] не при чём... Начальник на очередную шутку "стрижка только начата" как-то нервно передёргивается... А по теме начну, пожалуй, со стандартизации программных компонентов. С одновременным выкладыванием отлаженных модулей и библиотек в корпоративном архиве для всеобщего настоятельно рекомендуемого пользования. А там, глядишь, дурной пример заразителен... Так и остальные втянутся постепенно. Эволюционно, так сказать. |
|
|
30.8.2010, 7:25
Сообщение
#9
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
В очередной раз, после нескольких часов вылавливания блох, убедился в пользе повторного использования проверенных компонентов по сравнению с выборочным копи-пастом (или пейстом?) О да! Причем, это касается не только проверенных компонентов. Например, если впадлу написать макрос (типа - чего там такого? - три раза копипастнул, пару букв поменял...) - жди беды именно от этих букафф. Это касается всех языков программастинга. ЗЫ именно поэтому советы каких-то амеров, дескать, не надо писАть универсальные функции, надо поменьше параметров, итд - воспринимается как первоапрельский вздрочь. В конце концов, мона параметры со словом const вводить - компилер обязан привести все в нормальный вид. Зато не будет тупого повторения кода. |
|
|
Гость_MrYuran_* |
30.8.2010, 8:26
Сообщение
#10
|
Гости |
ЗЫ именно поэтому советы каких-то амеров, дескать, не надо писАть универсальные функции, надо поменьше параметров, итд - воспринимается как первоапрельский вздрочь. Нет, просто есть разные подходы. Вот некоторое время назад я очень Forth-ом увлёкся. Там именно такой подход. Функция (слово) производит действия над неявными данными (чаще всего на вершине стека). В си такое могу посоветовать только для внутренних static-переменных модуля, и то с оглядкой и обязательным документированием. Ещё пробежался по диагонали по учебнику с++, обнаружил полезную рекомендацию: обращаться к переменным класса не напрямую, а только через функции-аксессоры и мутаторы. По-русски говоря, через обёртки. Применительно к си это означает - никаких extern переменных, вместо них что-то типа SetData() и GetData(). Опять же, вполне ощутил полезность, чуть поменяв контекст переменной и переправив его везде, кроме одного места |
|
|
31.8.2010, 7:10
Сообщение
#11
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
Цитата Применительно к си это означает - никаких extern переменных, вместо них что-то типа SetData() и GetData(). Конечно, потому что вместо простого доступа к переменной на любом этапе может понадобиться метод. Цитата Опять же, вполне ощутил полезность, чуть поменяв контекст переменной и переправив его везде, кроме одного места И не стесняться вводить типы, даже если это алиасит простой тип. Исключения из такого правила - только в протокольной части. Весь ввод/вывод должен описываться с помощью <stdint.h> |
|
|
Гость_MrYuran_* |
31.8.2010, 9:46
Сообщение
#12
|
Гости |
Присматриваемся к Cortex-M3 от STM или LPC и соответственным бордам в стартерките.
Осталось подкинуть монетку и выбрать одно из двух. С большой вероятностью там будет встроена ОСь типа FreeRTOS. Лёд тронулся, по ходу... |
|
|
31.8.2010, 19:04
Сообщение
#13
|
|
сундук Группа: Пользователи Сообщений: 4043 Регистрация: 21.11.2009 Из: Ростов-на Дону Пользователь №: 15 |
Присматриваемся к Cortex-M3 от STM или LPC и соответственным бордам в стартерките. Осталось подкинуть монетку и выбрать одно из двух. С большой вероятностью там будет встроена ОСь типа FreeRTOS. Лёд тронулся, по ходу... А может что-то свое? В качестве ОС... Пусть даже на основе FreeRtos или TNKernel, писаной как раз для ARM-ов. Там и порт для Cortex M3 есть. И писал эту ОС наш бывший соотечественник. |
|
|
1.9.2010, 7:16
Сообщение
#14
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
|
|
|
Гость_MrYuran_* |
1.9.2010, 7:43
Сообщение
#15
|
Гости |
А почему низзя внять разговорам о том, что армы все-таки выпускают разные конторы, и не выбрать два из двух? Унификация. Да и смысла нет. Надо выбрать и использовать. У нас вообще у всех приборов морда и железо одинаковые, а функциональность определяется подключенным активным датчиком и прошивкой. Хотя тенденция намечается к созданию универсального "всемера" с внешними подключаемыми модулями и универсальной прошивкой А может что-то свое? В качестве ОС... Пусть даже на основе FreeRtos или TNKernel, писаной как раз для ARM-ов. Там и порт для Cortex M3 есть. И писал эту ОС наш бывший соотечественник. Ну, поскольку индикаторная часть не моя, то и выбор окончательный делать не мне. Из отечественных есть ещё широко известная в узких кругах scmRTOS. |
|
|
Текстовая версия | Сейчас: 28.3.2024, 12:53 |