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

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

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

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

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

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

Макконнелл С. Совершенный код. Мастер-класс — М.: Русская редакция, 2005. — 896 c.
ISBN: 5-469-00822-3
Скачать (прямая ссылка): soversheniykodmasterklass2005.djvu
Предыдущая << 1 .. 335 336 337 338 339 340 < 341 > 342 343 344 345 346 347 .. 426 >> Следующая

Анализаторы качества кода
Инструментарий этой категории исследует статический исходный
код с целью оценки его качества.
Программы углубленного контроля синтаксиса и семантики
Средства контроля синтаксиса и семантики осуществляют более
тщательную проверку кода, чем это обычно делает компилятор.
Ваш компилятор может проверять наличие только элементарных
синтаксических ошибок. При углубленном контроле могут
учитываться нюансы языка, что позволяет проверить наличие
более коварных ошибок - тех, что не выглядят таковыми с точки
зрения компилятора. Например, в C++ выражение:
while ( i = 0 ) ...
абсолютно законно, но обычно имеется в виду:
while ( i == 0 ) ...
Первая строка синтаксически корректна, но путаница со знаками
= и == является распространенной ошибкой, и данная строка,
возможно, неправильна. Lint - углубленный анализатор
синтаксиса и семантики, используемый во многих средах C/C++, -
предупреждает о наличии неинициализированных переменных, пе-
ременных, которым присвоено значение, но которые никогда не
используются, выходных параметрах метода, которым не было
присвоено значение внутри метода, подозрительных операциях с
указателями, подозрительных логических сравнениях (вроде
приведенного выше), недостижимом коде и прочих распростра-
ненных проблемах. Другие языки предлагают похожие инструменты.
ГЛАВА 30 Инструменты программирования 699
Генераторы отчетов о метриках
Некоторые инструменты составляют отчет о качестве кода,
поцсирсшшл ггыпгп 0 ж Например, средства, сообщающие о
сложности каждого ме- ш ш раздел 28.4. тода, позволяют
направить наиболее сложные функции на
дополнительное рецензирование, тестирование или
перепроектирование. Некоторые средства подсчитывают количество
строк кода, объявлений данных, комментариев и пустых строк как
для всей программы, так и для отдельных методов. Они
отслеживают дефекты, внесенные конкретными программистами,
Затем фиксируют изменения, сделанные для исправления дефектов,
и программистов, внесших эти правки. Они подсчитывают
количество модификаций ПО и выделяют процедуры, которые
исправляются чаше всего. Установлено, что средства анализа
сложности положительно влияют на производительность
сопровождения, увеличивая ее примерно на 20% (Jones, 2000).
Рефакторинг исходного кода
Несколько инструментов оказывают помощь при конвертации
исходного кода из одного формата в другой.
Инструменты для рефакторинга
Программа рефакторинга поддерживает процесс рефакто-
перекрестная ссылка 0 ре<| ринга кода как в автономном режиме,
так и с интеграцией торинге ом. шву 24.
в IDE. Браузеры рефакторинга позволяют легко изменить имя
класса по всему исходному коду. Они дают возможность создавать
новый метод, просто выделив код, который в него нужно
перенести, указав имя для этого нового метода и перечислив
список параметров. Средства рефакторинга делают процесс
изменения кода более быстрым и менее подверженным ошибкам. Они
уже доступны для языков Java и Smalltalk и получают все
большее распространение для других языков. Об инструментах
рефакторинга см. также главу 14 "Refactoring Tools" в книге
"Refactoring" (Fowler, 1999).
Инструменты для реструктуризации
Программа реструктуризации преобразует тарелку спагетти-кода с
операторами goto в более питательное блюдо из
структурированного кода без goto. Кейперс Джонс сообщает, что
в процессе сопровождения средства реструктуризации могут повы-
сить производительность на 25-30% (Jones, 2000). Программе
реструктуризации при конвертации кода приходится делать массу
допущений, и, если логика оригинала была ужасной, она
останется такой и в сконвертированной версии. Однако если вы
выполняете преобразование вручную, вы можете использовать этот
инструмент для простых вариантов, а сложные участки обработать
вручную. В качестве альтернативы можно прогнать код через
программу реструктуризации и использовать результат как
отправную точку для ручного преобразования.
Трансляторы кода
Некоторые инструменты переводят код с одного языка
программирования на другой. Транслятор позволяет перенести
большой объем кода в другую среду. Учтите
700 ЧАСТЬ VI Системные вопросы
однако, что, если вы изначально имеете плохой код, транслятор
просто переведет этот плохой код на другой язык.
Управление версиями
Перекрестие* ееыяка 0 таких СпРавиться с быстро растущим
количеством версий ПО по-
инструментах ей. подраздел зволяют инструменты управления
версиями, которые пре-
"Изменений ш тт программ- доставляют следующие возможности:
його обеспечения" раздела 28.2. ¦ управление исходным кодом;
¦ управление зависимостями наподобие того, что
делает утилита make в операционных системах UNIX;
¦ управление версиями проектной документации;
¦ установка соответствия между элементами проекта, такими как
требования, код и тестовые данные, чтобы в случае изменения
требований вы могли определить, какой код и какие тесты
будут затронуты.
Словари данных
Предыдущая << 1 .. 335 336 337 338 339 340 < 341 > 342 343 344 345 346 347 .. 426 >> Следующая