|
Проектирование ПО для микроконтроллеров |
|
|
|
Nov 21 2008, 19:38
|
Группа: Участник
Сообщений: 5
Регистрация: 21-11-08
Пользователь №: 41 843

|
Существует такая наука как проектирование ПО. У нас она не очень развита (мое мнение), тем более для микроконтроллеров. Наш народ садится за клавиатуру и начинает писать код. Видел я много не продуманных программ. Было очень много срывов сроков проекта из-за того что нужно внести изменение в программу (незначительное), а программист мне говорит типа это сложно, из-за этого нужно переделать то-то и то-то. Особенно тяжело с людьми которые ранее писали на Ассемблере и их заставили писать на С. Оператор GOTO они наверно не забудут никогда. К чему это я все? У меня есть практика программирования как для ПК так и для МК. Я 6,5 лет отсидел на студенческой скамье. И я себя считаю не плохим программистом. Я задался целью найти литературу или статьи по архитектуре ПО для МК. Согласитесь программирование под МК имеет свою специфику. В результате поисков я ничего не смог найти, даже малейших намеков. Мне кажется это серьезная проблема. В данный момент я набираю людей в отдел. И на вопрос: "Что такое архитектура ПО?" я в 100% собеседований слышу мычание. Уважаемые коллеги, скажите может я ошибаюсь и эта архитектура вовсе не нужна (ведь оно и так все работает)? А может кто чего-нибудь подскажет?
|
|
|
|
|
 |
Ответов
|
Nov 21 2008, 20:27
|
Группа: Участник
Сообщений: 5
Регистрация: 21-11-08
Пользователь №: 41 843

|
Оператор GOTO делает программу не читаемой и тяжолой для внесения изменений. В 100% случаях можно обойтись без него (опыт программирования на С под МК 4 года, на С++ под Windows 8 лет и не разу не использовал оператор GOTO). А разговоры о том что GOTO позволяет код сделать меньшего размера и повысить скорость программы считаю не актуальными. Если вы радиолюбитель, то може для Вас конечно дорогова-то выбрать контроллер с большей производительностью или большим количеством памяти, но в случае серийного производства это не проблема. Цена остается абсолютно не изменной из-за объемов. Так же считаю, что выиграшь от повышения производительности при использование GOTO не соизмерим с потерями читаемости кода. И вообще вопрос не в этом. Вы можете использовать GOTO, но делать нужно это с умом. Если у Вас продуманная и четко просматриваемая структура программы, то ни кто Вас не у прекнет за использование этого опператора. Цитата(SSerge @ Nov 22 2008, 00:17)  Проектирование ПО - это точно не наука. Из него пытались сделать ремесло, но что-то явных успехов на этом пути не видно. Так что пока считается искусством.  PS. А наш народ, который садится за клавиатуру и начинает писать код - на самом деле следует самым модным, самым современным путём - это же так называемое XP, Extreme Programming в чистом виде! А потом начинается TDD - Test Driven Development, когда всё это тестируют, тестируют, тестируют, тестируют, а оно всё не работает и не работает. Очень современая технология, какие могут быть сомнения? PPS. Если набрать XP на русском получится ЧЗ - Чёрт Знает что [однако, ©!] или психбольница в руках пациентов. Слава богу я не один задумываюсь над этой темой. Проектирование ПО - это точно не наука. Не согласен. За "бугром" это наука. У моей знакомой (учется в Гамбурге) был даже такой курс. А как же "SWEBOK: Руководство к своду знаний по программной инженерии"?
|
|
|
|
|
Nov 21 2008, 21:08
|
Профессионал
    
Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528

|
Цитата(_Pasha @ Nov 22 2008, 02:40)  Понятно. Очередной флудняк наметилсо  Присоединяйтесь! The Tao Of Programming Цитата 3.2 Один учитель писал неструктурированные программы. Его ученик тоже начал писать неструктурированные программы, имитируя его. Когда ученик попросил учителя оценить его прогресс, учитель критиковал того за неструктурированный стиль, сказав: "Что уместно учителю, то не уместно ученику. Ты должен постичь Дао прежде чем переступить структуру."
4.2 Ученик спросил учителя: "Я написал программу, которая то работает, то сбоит. Я следовал правилам программирования, однако совершенно запутался. В чем причина?"
Учитель ответил: "Ты смущен, поскольку не понимаешь Дао. Только глупец ожидает разумного поведения от людей. Почему же ты ожидаешь разумного поведения от машины, людьми сконструированной? Компьютеры симулируют детерминизм; только Дао совершенно. Правила программирования преходящи; только Дао вечно. Поэтому ты должен медитировать о Дао прежде чем тебе откроется просветление."
"Но как я узнаю когда оно мне откроется?" - спросил ученик.
"Твоя программа будет работать правильно," - ответил учитель.
--------------------
Russia est omnis divisa in partes octo.
|
|
|
|
Сообщений в этой теме
Purposeful Проектирование ПО для микроконтроллеров Nov 21 2008, 19:38  aaarrr Цитата(Purposeful @ Nov 21 2008, 23:27) А... Nov 21 2008, 20:47  SSerge Цитата(Purposeful @ Nov 22 2008, 02:27) И... Nov 21 2008, 20:50 scifi Цитата(aaarrr @ Nov 21 2008, 23:03) Скажи... Dec 9 2009, 07:47 SSerge Проектирование ПО - это точно не наука.
Из него пы... Nov 21 2008, 20:17 vvvvv Цитата(Purposeful @ Nov 21 2008, 22:38) с... Nov 21 2008, 21:02 BSVi Тут сложность в том, что сложно передать свой опыт... Nov 21 2008, 21:05 man with no name vvvvv, +1
ИМХО, больше всего о том КАК написана пр... Nov 21 2008, 21:26 PIC_Embedder Цитата(Purposeful @ Nov 21 2008, 23:38) М... Nov 22 2008, 08:43 sgs Мне кажется, что бодание вокруг goto сродни религи... Nov 22 2008, 09:06 Purposeful Я прихожу к выводу, что действительно развитие про... Nov 22 2008, 09:17 _Pasha Цитата(Purposeful @ Nov 22 2008, 13:17) р... Nov 22 2008, 12:21 sgs ЦитатаЯ заметил, что большинство программистов счи... Nov 22 2008, 09:40 rsv когда пишу код для МК, стараюсь следовать принципа... Nov 22 2008, 14:33 alekseykoj Этап проектирования при разработке ПО должен обяза... Dec 8 2009, 09:32 Andron_ грустный какой-то топик (((
я надеялся узнать из ... Dec 8 2009, 13:44 Палыч Цитата(Andron_ @ Dec 8 2009, 16:44) как п... Dec 8 2009, 16:52 Andron_ ЦитатаЭто - жадность собственников предприятия, же... Dec 8 2009, 17:27 Палыч Цитата(Andron_ @ Dec 8 2009, 20:27) ... э... Dec 9 2009, 07:11 AlexandrY Во читайте и просвещайтесь
Embedded_systems_archit... Dec 8 2009, 18:35 tag Цитата(Purposeful @ Nov 21 2008, 22:38) О... Dec 9 2009, 07:31 AlexandrY Ну почему же.
За goto в С-и прочно закрепилась од... Dec 9 2009, 08:28  _Pasha Цитата(AlexandrY @ Dec 9 2009, 12:28) Ну ... Dec 9 2009, 09:42   AlexandrY Да точно, в кооперативных механизмах многозадачнос... Dec 9 2009, 12:18 LessNik Проектирование ПО для микроконтроллеров: RUP + UML... Dec 9 2009, 10:06 Dog Pawlowa По хорошему программирование для микроконтроллеров... Dec 9 2009, 12:01 Fktrctq Если говорить об первоначальной теме топика, не уг... Dec 9 2009, 13:47 alekseykoj Вообще-то этот топик не про оператор goto, а про п... Dec 14 2009, 07:06 AlexandrY А вы вместо notepad-а попробуйте применить Underst... Dec 14 2009, 08:42 kolobok0 Цитата(Purposeful @ Nov 21 2008, 22:38) .... Dec 14 2009, 23:13 Dog Pawlowa Цитата(kolobok0 @ Dec 15 2009, 02:13) И К... Feb 1 2010, 08:03  _Bill Цитата(Dog Pawlowa @ Feb 1 2010, 12:03) П... Apr 28 2010, 05:32 forever_student Цитата(kolobok0 @ Dec 15 2009, 02:13) И К... Mar 30 2010, 17:02 vvs157 Цитата(Purposeful @ Nov 21 2008, 22:38) С... Dec 14 2009, 23:38 grau Цитата(Purposeful @ Nov 21 2008, 22:38) С... Jan 31 2010, 13:57
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|