Судя по моим знаниям об истории средств разработки прошивок, практик и т.д., он несколько лет отставал от области разработки программного обеспечения. Например, насколько я могу судить, в мире прошивки еще много споров о том, действительно ли С++ стоит использовать для наших приложений, а некоторые компиляторы С++ заметно отсутствуют (microchip?!?). Я полагаю, что в значительной степени это связано с различиями в требованиях между прошивкой и программным обеспечением. Опять же, судя по истории, кажется, что это всего лишь вопрос времени, прежде чем надлежащим образом проверенные инструменты и методы превратят его в мир прошивки.
Какие методы, инструменты, передовые методы и т.д., которые используют современные программисты, могут ли инженеры прошивки также использовать для улучшения своего ремесла?
В частности, я думаю по следующим осям (но не позволяйте им ограничивать вас):
- Улучшение чистоты кода/ремонтопригодности
- Сокращение внедрения дефектов и улучшение обнаружения.
- Улучшение документации
- Управление требованиями
- Улучшение повторного использования.
Я также хотел бы видеть, что встроенные магазины отвечают или комментируют ответы, чтобы предоставить отзывы о теоретической возможности или, еще лучше, личном опыте.
UPDATE
Мне особенно интересно немного подпрыгнуть впереди кривой. Так относительно новый материал, который был хорошо проверен (хорошо работает для большинства людей), например С++, TDD и т.д. Что вы используете все время и любовь?
ОБНОВЛЕНИЕ 2
На данный момент я получаю много хорошего совета по программированию в ответах, что отлично, но я действительно ищу более нетрадиционные подходы, которые оказались успешными для людей. Я пытаюсь дразнить Agile-практиков, TDDers и всех вас, кто пробовал вещи и видел, как он окупился в пиках или терпел неудачу. Как у инженера-программиста есть инструмент или практика, которые вы приняли за последние несколько лет, которые оказали удивительно положительное или отрицательное воздействие?