Супер книжка TDD Agile SOLID MCU Embedded Си - в общем всё, как любит современное гик поколение :)

Перевод книги подКат"ом (в прикреплении)

 

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

 

Итак, что вы делаете, просматривая книгу о разработке через тестирование? Вы не живете в такой расточительной среде, где программисты возятся с такими причудами. Да ладно, TDD предназначен для программистов на Java и Ruby. Код TDD выполняется на интерпретируемых языках и виртуальных машинах. Это не тот код, который работает на настоящем металле, не так ли?

 

Джеймс Греннинг и я осваивали встроенное программное обеспечение в конце

 

70-х и начале 80-х. Мы вместе программировали ассемблер 8085 на системах

 

тестирования телефонов, которые были установлены в стойках центральных

 

телефонных станций. Мы провели много вечеров в центральных офисах, сидя

 

на бетонных полах с осциллографами, логическими анализаторами и пром-горелками.

 

У нас было 32 КБ ОЗУ и 32 КБ ПЗУ, чтобы творить чудеса.

 

Господи, какие чудеса мы сотворили!

 

Джеймс и я были первыми, кто внедрил C во встроенные системы в нашей компании. Нам пришлось сражаться с теми разработчиками аппаратного обеспечения, которые утверждали, что «C слишком медленный». Мы написали драйверы, мониторы и переключатели задач, которые позволяли нашим системам работать в 16-битном адресном пространстве, разделенном между ОЗУ и ПЗУ. Прошло

 

несколько лет, но в итоге мы увидели все новые встраиваемые системы нашей компании, написанные на C.

 

После тех бурных дней 70-х и 80-х годов мы с Джеймсом расстались. Я ушел в сферу информационных технологий и производства продуктов, где

ресурсы текут, как вино на итальянской свадьбе. Но у Джеймса была особая любовь к встроенному миру, поэтому на протяжении последних тридцати с лишним лет Джеймс Греннинг писал код во встроенных средах, таких как цифровые телефонные коммутаторы, высокоскоростные копировальные аппараты, радиоконтроллеры, сотовые телефоны и тому подобное.

 

Джеймс и я снова объединили свои усилия в конце 90-х. Мы с ним консультировали Xerox по вопросам встроенного программного обеспечения C++, работающего на 68000 в высокопроизводительных цифровых принтерах Xerox. Джеймс также консультировал известную компанию сотовой связи по вопросам подсистем связи.

 

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

 

Когда в 1999 году состоялось первое XP Immersion, Джеймс присутствовал там.

 

Когда в 2001 году в Snowbird был задуман Agile-манифест, Джеймс присутствовал там и был одним из первых, кто его подписал. Джеймс был полон решимости найти способ познакомить индустрию встраиваемых систем с ценностями и методами гибкой разработки программного обеспечения.

 

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

 

Эта книга — результат всей этой упорной работы. Эта книга представляет собой

 

интеграция Agile и встроенных технологий. На самом деле у этой книги неправильное название. Это должна быть «Создание встраиваемых систем на C», потому что, хотя в этой книге много говорится о TDD, в ней говорится гораздо больше!

 

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

 

Я думаю, что этой книге суждено стать библией встроенного программного обеспечения.

 

инженерия.

 

Да, вы можете использовать TDD во встроенном мире. Мало того, вы должны!

 

На этих страницах Джеймс покажет вам, как использовать TDD экономично, эффективно и прибыльно. Он покажет вам приемы и приемы, дисциплины и процессы. И он покажет вам код!

Будьте готовы читать много кода. Эта книга полна кода. И этот код написан мастером, которому можно многому научить. Читая эту книгу и весь код в ней, Джеймс расскажет вам о тестировании, принципах проектирования, рефакторинге, запахах кода, управлении устаревшим кодом, шаблонах проектирования, шаблонах тестирования и многом другом.

 

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

 

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

 

Вы взяли это и дочитали до этого места. Теперь закончите то, что начали, и прочитайте остальное.

 

 

Роберт С. Мартин (дядя Боб)

 

октябрь 2010 г.

 

Перевод книги подКат"ом (в прикреплении)

 

 

Добавить комментарий

Обратная связь

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

пишите мне на netdm@mail.ru