Главная
Попытка заменить пчелу
Предложения советских рационализаторов
Радиоэлектронные собеседники животных
Роботехника в производстве и в быту
Тайна профессора Рентгена
Деталь сама себя обрабатывает и охлаждает
Желтый подводный робот
Ледяные корабли
Открытия и наблюдения советских ученых
Новаторская перевозка грузов
Перпетуум мобиле с Алексеем Воробьёвым-Обуховым
Пишущая машинка стенографирует и расшифровывает
Шахматная махина маэстро кэмпелена
Роторно-винтовые ледоколы
Русскому керосину - 160 лет
Спасение в воздушных просторах
Что умеют машины
|
Главная - Литература 6.4. Разумные причины создания классов.............................................................................148 6.5. Аспекты, специфические для языков................................................................................152 6.6. Следующий уровень: пакеты классов...............................................................................153 7 Высококачественные методы...............................................................................157 7.1. Разумные причины создания методов............................................................................1б0 7.2. Проектирование на уровне методов................................................................................1бЗ 7.3. Удачные имена методов.................................................................................................................1б7 7.4. Насколько объемным может быть метод?...................................................................169 7.5. Советы по использованию параметров методов.................................................170 7.6. Отдельные соображения по использованию функций.................................177 7.7. Методы-макросы и встраиваемые методы.................................................................178 8 Защитное программирование................................................................................182 8.1. Защита программы от неправильных входных данных..............................183 8.2. Утверждения..............................................................................................................................................184 8.3. Способы обработки ошибок....................................................................................................189 8.4. Исключения...............................................................................................................................................193 8.5. Изоляция повреждений, вызванных ошибками...................................................198 8.6. Отладочные средства.......................................................................................................................200 8.7. Доля защитного программирования в промышленной версии...........204 8.8. Защита от защитного программирования.................................................................206 9 Процесс программирования с псевдокодом......................................................209 9.1. Этапы создания классов и методов....................................................................................210 9.2. Псевдокод для профи.......................................................................................................................211 9.3. Конструирование методов с использованием ППП.........................................214 9.4. Альтернативы ППП.............................................................................................................................225 Часть III Переменные 10 Общие принципы использования переменных................................................230 10.1. Что вы знаете о данных?.............................................................................................................231 10.2. Грамотное объявление переменных.............................................................................232 10.3. Принципы инициализации переменных................................................................233 10.4. Область видимости.........................................................................................................................238 10.5. Персистентность...............................................................................................................................245 10.6. Время связывания.............................................................................................................................24б 10.7. Связь между типами данных и управляющими структурами...............247 10.8. Единственность цели каждой переменной............................................................249 11 Сила имен переменных.........................................................................................252 11.1. Общие принципы выбора имен переменных.....................................................253 11.2. Именование конкретных типов данных...................................................................257 11.3. Сила конвенций именования...............................................................................................263 11.4. Неформальные конвенции именования...................................................................264 11.5. Стандартизованные префиксы...........................................................................................272 11.6. Грамотное сокращение имен переменных............................................................274 11.7. Имена, которых следует избегать.....................................................................................277 12 Основные типы данных.........................................................................................282 12.1. Числа в общем......................................................................................................................................283 12.2. Целые числа............................................................................................................................................284 12.3. Числа с плавающей запятой...................................................................................................286 12.4. Символы и строки............................................................................................................................289 12.5. Логические переменные............................................................................................................292 12.6. Перечислимые типы......................................................................................................................294 12.7. Именованные константы..........................................................................................................299 12.8. Массивы......................................................................................................................................................301 12.9. Создание собственных типов данных (псевдонимы).................................303 13 Нестандартные типы данных...............................................................................310 13.1. Структуры.................................................................................................................................................310 13.2. Указатели...................................................................................................................................................314 133. Глобальные данные.........................................................................................................................326 Часть IV Операторы 14 Организация последовательного кода..............................................................338 14.1. Операторы, следующие в определенном порядке...........................................338 14.2. Операторы, следующие в произвольном порядке...........................................342 15 Условные операторы.............................................................................................346 15.1. Операторы if...........................................................................................................................................34б 15.2. Операторы case...................................................................................................................................353 16 Циклы........................................................................................................................359 16.1. Выбор типа цикла.............................................................................................................................359 16.2. Управление циклом........................................................................................................................365 16.3. Простое создание цикла - изнутри наружу.........................................................378 16.4. Соответствие между циклами и массивами...........................................................379 17 Нестандартные управляющие структуры.........................................................382 17.1. Множественные возвраты из метода............................................................................382 17.2. Рекурсия......................................................................................................................................................385 17.3. Оператор goto.......................................................................................................................................389 17.4. Перспективы нестандартных управляющих структур................................401 18 Табличные методы.................................................................................................404 18.1. Основные вопросы применения табличных методов................................405 18.2. Таблицы с прямым доступом.................................................................................................406 18.3. Таблицы с индексированным доступом....................................................................418 18.4. Таблицы со ступенчатым доступом................................................................................419 18.5. Другие примеры табличного поиска............................................................................422 19 Общие вопросы управления................................................................................424 19.1. Логические выражения...............................................................................................................424 19.2. Составные операторы (блоки)............................................................................................436 193. Пустые выражения...........................................................................................................................437 19.4. Укрощение опасно глубокой вложенности...........................................................438 19.5. Основа программирования: структурное программирование..........448 19.6. Управляющие структуры и сложность........................................................................450 Часть V Усовершенствование кода 20 Качество по.............................................................................................................456 20.1. Характеристики качества ПО...............................................................................................456 20.2. Методики повышения качества ПО................................................................................459 20.3. Относительная эффективность методик контроля качества ПО.......................................................................................................462 20.4. Когда выполнять контроль качества ПО?.................................................................466 20.5. Главный Закон Контроля Качества ПО.......................................................................467 21 Совместное конструирование.............................................................................471 21.1. Обзор методик совместной разработки ПО.........................................................472 21.2. Парное программирование....................................................................................................475 21.3. Формальные инспекции............................................................................................................477 21.4. Другие методики совместной разработки ПО....................................................484 21.5. Сравнение методик совместного конструирования.....................................487 22 Тестирование, выполняемое разработчиками.................................................490 22.1. Тестирование, выполняемое разработчиками, и качество ПО...........492 22.2. Рекомендуемый подход к тестированию, выполняемому разработчиками...............................................................................................................................................494 22.3. Приемы тестирования.................................................................................................................496 22.4. Типичные ошибки............................................................................................................................507 22.5. Инструменты тестирования...................................................................................................513 22.6. Оптимизация процесса тестирования........................................................................518 22.7. Протоколы тестирования.........................................................................................................520 23 Отладка.....................................................................................................................524 23.1. Общие вопросы отладки............................................................................................................524 23.2. Поиск дефекта......................................................................................................................................529 233. Устранение дефекта........................................................................................................................539 23.4. Психологические аспекты отладки................................................................................543 23.5. Инструменты отладки - очевидные и не очень...............................................545 24 Рефакторинг............................................................................................................551 24.1. Виды эволюции ПО.........................................................................................................................552 24.2. Введение в рефакторинг............................................................................................................553 24.3. Отдельные виды рефакторинга..........................................................................................559 24.4. Безопасный рефакторинг........................................................................................................566 24.5. Стратегии рефакторинга..........................................................................................................568 25 Стратегии оптимизации кода...............................................................................572 25.1. Общее обсуждение производительности ПО......................................................573 25.2. Введение в оптимизацию кода............................................................................................576 25.3. Где искать жир и патоку?............................................................................................................583 25.4. Оценка производительности................................................................................................588 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 [290] 291 292 293 294 0.0025 |