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

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

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

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

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

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

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

ошибки, получаемого от
вызывающей программы. Способ вывода сообщения зависит от
режима работы, который он
определяет сам. Он возвращает значение, указывающее на
успешное завершение или сбой.
Написав общий комментарий, добавьте высокоуровневый псевдокод:
Пример псевдокода метода
Этот метод выводит сообщение об ошибке на основании кода
ошибки, получаемого от
вызывающей программы. Способ вывода сообщения зависит от
режима работы, который он
определяет сам. Он возвращает значение, указывающее на
успешное завершение или сбой.
Установить статус по умолчанию в "сбой".
Найти сообщение, соответствующее коду ошибки.
Если код ошибки корректен
Если работа в интерактивном режиме, вывести сообщение и
указать успешный статус.
Если работа в режиме командной строки, запротоколировать
сообщение об ошибке и указать успешный статус.
Если код ошибки некорректен, информировать пользователя об
обнаружении внутренней ошибки.
Вернуть статус
Еще раз: этот псевдокод достаточно высокого уровня, он не
содержит конструкций языка программирования, а объясняет
последовательность действий на естественном языке.
Продумайте применение данных К структуре данных ^ ^
Перекрестная ссылка 06 йс-
можно подходить с разных позиции. В нашем примере дан- пользовании
переменных см.
ные простые, и манипуляция над ними не является суще- главы
10-13. ственной частью метода. В противном случае важно проду-
мать основные фрагменты данных до построения логики метода.
Когда вы будете строить логику метода, структуры основных
типов данных окажутся весьма полезны.
Проверьте псевдокод Написав псевдокод и спроектиро- ж л
^ ^ к Перекрестная ссылка 0
методи-
вав данные, уделите минутку просмотру написанного. Заду- ш
0630Р08 см гла8у
майтесь, как бы вы объяснили это кому-то другому.
Попросите кого-нибудь прочитать написанное или выслушать ваше
объяснение. Вам может показаться глупым просить коллегу
посмотреть на какие-то 11 строк псевдокода, но результат вас
удивит. Псевдокод более явно обозначит ваши ошибочные
намерения, чем код на языке программирования. К тому же люди
охотней просматривают несколько строк псевдокода своих коллег,
чем 35 строк программы на C++ или Java.
218
ЧАСТЬ II Высококачественный код
Перекрестная ссылка 06 итерациях см. раздел 34.8.
Убедитесь, что вы имеете четкое представление о том, что и как
делает метод. Если вы не понимаете его концептуально, на
уровне псевдокода, какой же тогда у вас шанс разобраться в нем
на уровне языка программирования? Если его не понимаете вы,
кто его поймет?
Опишите несколько идей псевдокодом и выберите лучшую (пройдите
по циклу) Прежде чем кодировать, реализуйте как можно больше
своих идей в псевдокоде. Приступив к кодированию, вы
эмоционально вовлекаетесь в этот процесс, и вам труднее
отказаться от плохого проекта и начать заново.
Общая идея: раз за разом проходиться по псевдокоду, пока
каждое его предложение не станет настолько простым, что под
ним можно будет вставить строку программы, а псевдокод
оставить в качестве документации. Часть псевдокода, напи-
санного при первых проходах, может оказаться достаточно
высокоуровневой и потребовать дальнейшей декомпозиции. Не
забывайте это сделать. Если вам не понятно, как закодировать
какой-то фрагмент, продолжайте работать с псевдокодом, пока
это не прояснится. Продолжайте уточнение и декомпозицию, пока
это не будет выглядеть как напрасная трата времени по
сравнению с написанием настоящего кода.
Кодирование метода
Спроектировав метод, приступайте к его конструированию.
Конструирование можно производить в стандартном порядке, а при
необходимости отступить от него (рис. 9-3).
Начните с псевдокода i

Завершение
Рис. 9-3• Вы пройдете все эти этапы, но ие обязательно именно
в такой последовательности
Объявление метода Напишите интерфейсный оператор метода:
объявление функции на C++, метода на Java, функции или
подпрограммы на Microsoft Visual Basic и т. д. в зависимости
от применяемого языка. Превратите существующий
ГЛАВА 9 Процесс программирования с псевдокодом
219
заголовочный комментарий в комментарий соответствующего языка
и оставьте его над уже написанным псевдокодом. Вот
интерфейсный оператор и заголовок нашего примера на C++:
Пример интерфейса метода и заголовка, добавленных к псевдокоду
(C++)
Это заголовочный комментарий, превращенный в комментарий C++.
"/* Этот метод выводит сообщение об ошибке на основании кода
ошибки, получаемого от вызывающей программы. Способ вывода
сообщения зависит от режима работы, который он определяет сам.
Он возвращает значение, указывающее на успешное завершение или
сбой
L/
|- Это интерфейсный оператор.
L->Status ReportErrorMessage(
ErrorCode errorToReport
Установить статус по умолчанию в "сбой".
Найти сообщение, соответствующее коду ошибки.
Если код ошибки корректен
Если работа в интерактивном режиме, вывести сообщение и
указать успешный статус.
Если работа в режиме командной строки, запротоколировать
Предыдущая << 1 .. 112 113 114 115 116 117 < 118 > 119 120 121 122 123 124 .. 426 >> Следующая