Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Совершенный код. Мастер-класс - Макконнелл С.

Макконнелл С. Совершенный код. Мастер-класс — М.: Русская редакция, 2005. — 896 c.
ISBN: 5-469-00822-3
Скачать (прямая ссылка): soversheniykodmasterklass2005.djvu
Предыдущая << 1 .. 243 244 245 246 247 248 < 249 > 250 251 252 253 254 255 .. 426 >> Следующая

гнгтц С(шсок по типу и определить распространенность ошибок каждо-
ВС8Х контрольных списков при- го типа. У каждого программиста
есть свой список наибо- веден пош содержшя шт. лее неприятных
ошибок: ошибки занижения или завышения на 1, невыполнение
повторной инициализации переменной цикла и т. д.
В контрольных списках я указал и многие другие типы ошибок.
Борис Бейзер объединил данные нескольких исследований и пришел
к исключительно подробной классификации ошибок по
распространенности (Beizer, 1990). Вот резюме его результатов:
25,18% Структурные ошибки 22,44% Ошибки в данных
16,19% Ошибки в реализации функциональности
9,88% Ошибки конструирования
8,98% Ошибки интеграции
8,12% Ошибки в функциональных требованиях
2,76% Ошибки в определении или выполнении тестов
1,74% Системные ошибки, ошибки в архитектуре ПО
4,71% Другие ошибки
Бейзер сообщил свои результаты с точностью до двух разрядов
после запятой, но исследования типов ошибок в целом не
позволяют сделать окончательный вывод. Разные ученые сообщают
о разных ошибках, а результаты исследований похожих типов
ошибок иногда различаются на 50%, а не на сотые доли процента.
Из-за таких больших различий выполненное Бейзером объединение
результатов ряда исследований, вероятно, не способно дать нам
точной информации. Но даже если имеющиеся данные
неокончательны, на их основе мы можем сделать несколько общих
выводов.
Большинство ошибок имеет довольно ограниченную область ви-
димости Одно исследование показало, что в 85% случаев
исправление ошибки требовало изменения только одного метода
(Endres, 1975).
Многие ошибки не связаны с конструированием Опрос 97
разработчиков позволил выяснить, что тремя наиболее частыми
причинами ошибок были плохое знание прикладной области,
изменения или конфликты требований, а также неэффективность
общения и плохая координация действий разработчиков (Curtis,
Krasner, and Iscoe, 1988).
Как правило, ошибки конструирования лежат на со- 4

г > л' Если вы гндите следы
копыт,
вести программистов В двух давнишних исследовани- думайте а
лошадях, а не о зеб~
ях было установлено, что из всех ошибок 95% были допу- рах.
Скорее "сего ОС работает
щены программистами, причиной 2% было системное ПО норшишк
€ данных
(компилятор и ОС), еще 2% - другое ПО, а оставшегося 1%
ишрое, т в порядке.
- оборудование (Brown and Sampson, 1973; Ostrand and 3tt0 Хж н
Tame
Weyuker, 1984). Системное ПО и инструменты разработки ис-
^от$)
пользуются сегодня гораздо шире, чем в 1970-х и 1980-х,
510
ЧАСТЬ V Усовершенствование кода
поэтому я думаю, что сегодня программисты несут
ответственность за еще больший процент ошибок.
бок конструирования были опечатками (Weiss, 1975).
Исследование почти 3 ООО ООО строк приложения для расчета
динамики полета, проведенное в 1987 г., показало, что
опечатками были 18% всех ошибок (Card, 1987). В другом
исследовании было установлено, что 4% всех ошибок были
орфографическими ошибками в сообщениях (Endres, 1975). В одной
из моих программ коллега обнаружил ряд орфографических ошибок,
просто проанализировав все строки исполняемого файла утилитой
проверки орфографии. Внимание к деталям на самом деле важно.
Если вы сомневаетесь в этом, учтите, что три самых
дорогостоящих ошибки всех времен, приведших к убыткам объемом
1,6 миллиарда, 900 миллионов и 245 миллионов долларов, были
вызваны изменением одного символа в ранее корректных
программах (Weinberg, 1983).
Довольно часто причиной ошибок является неправильное понимание
проекта Компилятивное исследование Бейзера показало, что 16%
ошибок было обусловлено неправильной интерпретацией проекта
(Beizer, 1990). В другом исследовании было обнаружено, что
неправильным пониманием проекта объяснялось 19% ошибок (Weiss,
1975). Посвящайте анализу проекта столько времени, сколько
нужно. Это не обеспечивает немедленную выгоду (кому-то даже
может показаться, что вы не работаете!), но в итоге окупается
с избытком.
Большинство ошибок легко исправить Примерно в 85% случаев на
исправление ошибки требуется менее нескольких часов. Где-то в
15% случаев - от нескольких часов до нескольких дней. И только
около 1 % ошибок требует большего времени (Weiss, 1975;
Ostrand and Weyuker, 1984; Grady, 1992). Это подтверждает и
Барри Бом, заметивший, что на исправление около 20% ошибок
уходит около 80% ресурсов (Boehm, 1987b). Изо всех сил
старайтесь избегать трудных ошибок, выполняя предварительные
обзоры требований и проектов. Исправляйте многочисленные
мелкие ошибки так эффективно, как только можете.
Оценивайте опыт борьбы с ошибками в своей организации
Разнообразие результатов, приведенных в этом подразделе,
говорит о том, что каждая организация имеет собственный,
уникальный опыт борьбы с ошибками. Это осложняет использование
опыта других организаций в ваших условиях. Некоторые резуль-
таты противоречат интуиции; возможно, вам следует дополнить
свои интуитивные представления другими средствами. Начните
Предыдущая << 1 .. 243 244 245 246 247 248 < 249 > 250 251 252 253 254 255 .. 426 >> Следующая