Читаем Человеческий фактор в программировании полностью

Как же незаметным героям-программистам удается достичь таких результатов? Понятно, что они не всегда работают так успешно. Отрасль встроенного программного обеспечения изобилует ужасными историями о существующем коде со множественными слоями недокументированных заплат и исправлений. Модемы разрывают связь при передаче данных, в которых содержится последовательность, применявшаяся для отладки, но случайно оставленная в окончательной версии. Существуют копиры, которые внезапно теряют нить своей работы, и поэтому им приходится проводить временную «лоботомию» с помощью быстрого выдергивания шнура питания. Даже в военной ракетной радиоэлектронике случалось так, что ракеты «отключались» в середине полета, а плохо запрограммированные навигационные часы содержали накопленные ошибки. Нечего и говорить о пользовательских интерфейсах встроенных систем. Некоторые из них являются самыми отвратительными и неудобными на планете. В сравнении с тем хламом, который является нормой для персональных компьютеров, рабочих станций и универсальных машин, встроенное программное обеспечение выглядит твердым как кремень.

Безошибочность части таких программ достигается с помощью насильно-го внедрения личной дисциплины, которая усмиряет даже самых воинственных маньяков, помешанных на стандартах. Некоторые компании, особенно в сфере телекоммуникаций и программ военного назначения, эффективно применяют «чистые» методы программирования. Согласно этим методам, сборка кода проводится очень тщательно, а программистам запрещено возвращаться к написанному коду. Другие компании достигают таких чудес, собирая системы из огромного количества компонентов повторного использования. Некоторые из случаев наиболее сложного и строгого применения объектно-ориентированной технологии относились к созданию встроенных приложений. В основном они написаны на С++, но Smalltalk также проявил себя с лучшей стороны.

Рутина

Сложные задачи, возникающие при создании встроенных приложений реального времени, привлекают множество лучших программистов, чьи личные и профессиональные интересы сочетаются с необычной культу- 1 рой программирования. Культурный контекст встроенных приложений объединяет внимание к мелким деталям и необходимость строгой дисциплины. Программирование встроенных систем может быть утомительной работой, заставляющей программиста возиться с таким «добром», как загрузка регистров, ожидание сдвига в уровне сигнала или чередование и маскирование битов. В то же время код должен быть почти идеальным, помещаться в очень маленькой памяти и работать достаточно быстро, чтобы не вызывать паузы при выводе на экран или отклонения ракет от заданного курса.

Программисты, создающие такой код, склонны работать тщательно и скрупулезно. В первую очередь они стремятся сократить количество ошибок. С точки зрения качества программного обеспечения такие программисты имеют низкий «изначальный уровень» программных багов. Конечно, дешевле всего найти и исправить те ошибки, которым вы не позволяете проникнуть в код. Программисты встроенных систем широко применяют тактику выявления изъянов непосредственно во время рабочего цикла, вылавливая ошибки как можно раньше — пока их легко найти и просто исправить. Для сокращения количества ошибок проводятся тщательные многократные проверки расчетов и кода. Такой метод требует намного меньше затрат и является более эффективным, чем тестирование и отладка на завершающей стадии проекта.

При разработке «невстроенных» программных систем популярный метод устранения ошибок основан на бета-тестировании и отладке, проходящих на 400000 сайтов. С точки зрения общих расходов, ложащихся на плечи покупателей, трудно представить себе более неэффективную и затратную схему. С другой стороны, для производителей программного обеспечения это выгодный подход при условии, что покупатели спешат платить за привилегию выполнять работу производителей, а у самих производителей нет стимула выпускать качественные продукты.

Отчасти успех программирования встроенных систем связан с культурой и контекстом, а также, как я убедился, с применяемым подходом и профессиональной подготовкой. Многие годы я веду мастер-классы по высокопроизводительной командной работе и обучаю методам проектирования с учетом юзабилити на проводимой два раза в год Конференции по встроенным системам (Embedded Systems Conference). Когда я высказывался по поводу того, насколько быстро команды программистов встроенных систем находили действительно хорошие решения учебных задач, почти всегда кто-нибудь объяснял это тем, что большинство из них — инженеры.

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

Перейти на страницу:

Похожие книги

Event-маркетинг. Все об организации и продвижении событий
Event-маркетинг. Все об организации и продвижении событий

Каждый день в России проходят тысячи мероприятий самой разной направленности. Концерты, фестивали, семинары и тренинги, конференции, праздники, вечеринки, онлайн-трансляции. Как их организовывать? Как привлекать на event людей в условиях высокой конкуренции? Как провести мероприятие, чтобы посетители остались довольны? Как получить много новых клиентов в свой бизнес с помощью событий? Книга ответит на эти вопросы.Для кого эта книга?– Для организаторов открытых мероприятий любых форматов.– Для представителей рекламных, PR– и event-агентств.– Для музыкантов и арт-директоров.– Для малого, среднего и крупного бизнеса.Наталия Франкель и Дмитрий Румянцев – создатели и ведущие крупнейшего блога в социальных сетях об event-маркетинге. Организаторы sold out-конференций и фестивалей: «Суровый питерский SMM», «Найди свой трафик», SOLD OUT, VideoDays, SMM-десант, «Детский Петербург» и других.

Дмитрий Владимирович Румянцев , Наталия Франкель

Маркетинг, PR
Структурирование хаоса
Структурирование хаоса

Что направляет энергию членов команды на достижение поставленной цели? Как правильно сформировать профессиональный и ролевой состав команды? Из каких элементов выстроить систему результативного лидерства? Ответы на эти и другие вопросы вы найдете на страницах книги известного бизнес-тренера Юрия Наврузова «Структурирование хаоса или практическое руководство по управлению командой».Это пособие предназначено в первую очередь тем, кому в служебной обстановке или в жизни приходится руководить другими людьми. Такой читатель найдет в книге возможности понять, что же лежит в основе гармонизации усилий членов команды. Автор методично рассмотрит множество примеров конструктивного разрешения конфликтов. А участники различных программ МВА научатся оптимально сочетать структурированность системы с мощной энергией мотивационного побуждения.

Юрий Наврузов

Маркетинг, PR / Управление, подбор персонала / Финансы и бизнес
Анализируй этих! Полное руководство по подбору персонала
Анализируй этих! Полное руководство по подбору персонала

«Кадры решают всё!» Подбор персонала – основа любого успешного бизнеса, это сложное занятие, требующее высокого профессионализма. Если рекрутер совершит ошибку, неподходящие кандидаты никогда не станут успешными сотрудниками, а компания не будет эффективной.Прочитав эту книгу, можно получить ответы на множество вопросов, таких как:– Как определить потребность в персонале?– Где и как искать подходящих кандидатов?– Как оценить кандидата в процессе собеседования?Вы сможете подробно изучить все этапы подбора персонала и выстроить собственную стратегию профессионального рекрутинга. Структурированно изложенный материал позволит изучить весь процесс подбора персонала от А до Я, поможет применять свои знания на практике.Автор книги, директор по персоналу крупной транспортной компании, проработала в сфере управления персоналом много лет, провела тысячи собеседований, закрыла сотни вакансий разных уровней и направлений – ее опыт просто бесценен!Вам больше не понадобится дополнительная литература – в этой книге вы найдете ВСЁ необходимое!

Наталья Юрьевна Добровольская

Маркетинг, PR