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

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

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

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

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

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

Макконнелл С. Совершенный код. Мастер-класс — М.: Русская редакция, 2005. — 896 c.
ISBN: 5-469-00822-3
Скачать (прямая ссылка): soversheniykodmasterklass2005.djvu
Предыдущая << 1 .. 115 116 117 118 119 120 < 121 > 122 123 124 125 126 127 .. 426 >> Следующая

программистами - различие, появляющееся при переходе от
суеверия к

Итог: работающий метод - это еще не все. Если вы не знаете,
как он работает, изучайте его, обсуждайте его,
экспериментируйте с альтернативными вариантами, пока не
добьетесь понимания.
224 ЧАСТЬ II Высококачественный код
Вот несколько советов по эффективной компиляции.
¦ Установите наивысший уровень предупреждений компилятора. Вы
можете отловить изрядное число ошибок, лишь позволив
компилятору их обнаруживать.
¦ Применяйте проверяющие средства. Встроенные проверяющие
средства компиляторов могут быть дополнены внешними, такими
как lint для С. Даже не- компилируемый код, скажем, HTML и
JavaScript, можно проверить соответствующими утилитами.
¦ Выясните причину всех сообщений об ошибках и предупреждений.
Подумайте, что сообщение говорит о вашем коде. Многие
предупреждения зачастую указывают на низкое качество кода, и
вам следует попытаться понять смысл каждого предупреждения.
На практике предупреждения, которые вы видите раз за разом,
вызывают одну из двух реакций: вы или не обращаете на них
внимания, и они скрывают от вашего взгляда более важные
предупреждения, или они попросту вас раздражают. Как
правило, проще и безболезненней переписать код, решив
проблему, вызывающую предупреждения, и, таким образом, изба-
виться от них.
Перекрестия* ттш Подрой* Пройдите по коду отладчиком
Скомпилировав метод,
ности ш, в тт П и шодш- запустите его в отладчике и пройдите
по каждой строке кода,
деле *Создан#е наш для tec- Убедитесь, что каждая строка
выполняется так, как вы ожи-
тироаант отдеяышх классов" даете. Следуя этому простому
совету, вы сможете найти мно-
PWM 22.5, ю ошибок>
Протестируйте код Протестируйте код, используя тестовые
примеры, которые вы запланировали или уже создали при
разработке метода. Возможно, вы создали леса для поддержки
тестирования, т. е. код, поддерживающий методы при
тестировании и не включаемый в конечный продукт. Леса могут
представлять собой методы - тестовые сбруи, которые вызывают
ваш метод с тестовыми данными, или заглушки, вызываемые вашим
методом.
~ - к Удалите ошибки из метода Обнаруженные ошибки
ности^Гв JSZ нужно удалить. Если к этому моменту ваш метод
работает
нестабильно, велика вероятность, что он таким и останется.
Обнаружив непонятное поведение метода, начните все заново. Не
пытайтесь доводить его до ума - перепишите его. Изощренные
переделки обычно говорят
о неполном понимании и гарантируют возникновение ошибок как
сейчас, так и в будущем. Полное перепроектирование
нестабильного метода полностью оправданно. Мало что сравнится
по эффективности с переписыванием проблемного метода - вы
позабудете о бывших ошибках.
Наведение глянца
Проверив код, оцените его с учетом общих критериев, описанных
в этой книге. Чтобы гарантировать соответствие качества метода
высоким стандартам, сделайте следующее.
¦ Проверьте интерфейс метода. Убедитесь, что применяются все
входные и выходные данные и используются все параметры (см.
раздел 7.5).
ГЛАВА 9 Процесс программирования с псевдокодом
225
¦ Проверьте общее качество конструкции. Убедитесь, что метод
выполняет единственную задачу и делает это хорошо, имея в
виду его слабое сопряжение с другими методами и
проектирование в соответствии с методикой защитного
программирования (см. главу 7).
¦ Проверьте переменные метода: корректность их именования,
неиспользуемые объекты, необъявленные переменные, неверно
инициализированные объекты и т. д. (см. главы 10-13).
¦ Проверьте логику метода. Проанализируйте наличие ошибок
занижения/завышения на 1, некорректной вложенности и утечки
ресурсов (см. главы 14-19).
¦ Проверьте форматирование метода. Убедитесь в корректном
использовании пробелов для структурирования метода,
выражений и списка параметров (см. главу 31).
¦ Проверьте документирование метода. Убедитесь в корректности
псевдокода, переведенного в комментарии. Проверьте описание
алгоритма, документирование интерфейса, неочевидных
зависимостей и нестандартных подходов (см. главу 32).
Ш- Удалите лишние комментарии. Иногда комментарии, полученные
из псевдокода, являются избыточными, особенно когда ППП
применяется рекурсивно и комментарии лишь описывают вызов
метода, назначение которого и так понятно из его имени.
Повторите нужное число раз
Если качество метода неудовлетворительное, вернитесь к
псевдокоду. Создание высококачественного ПО - итеративный
процесс, так что без колебаний повторяйте весь цикл
конструирования вновь и вновь.
9.4. Альтернативы ППП
Для меня ППП - идеальная методика создания классов и методов.
Другие специалисты рекомендуют иные подходы. Вы можете
применять их как альтернативу или дополнение ППП.
Разработка с изначальными тестами Это популярный стиль
разработки, при котором тестовые задания пишутся до самого
кода (см. раздел 22.2). Есть хорошая книга Кента Бека на эту
тему - "Test-Driven Development: By Example" (Beck, 2003).
Предыдущая << 1 .. 115 116 117 118 119 120 < 121 > 122 123 124 125 126 127 .. 426 >> Следующая