Стиль, разработка, эффективность, отладка и испытание программ

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

В книге американского автора рассмотрен широкий круг вопросов, касающихся стиля написания программ, рациональных методов их разработки и оптимизации, стратегии отладки и тестирования. Приводимые рекомендации основаны на многолетнем опыте автора.Для специалистов с разной подготовкой - от начинающих программистов до профессионалов, а также для студентов, обучающихся программированию.

Author(s): Ван Тассел Д.
Publisher: Мир
Year: 1981

Language: Russian
Pages: 320
City: Москва

Предисловие редактора перевода
Предисловие 6

Глава 1. Стиль программирования
1.1. Стандартизация стиля . . .
1.2. Комментарий . .
1.3. Пропуск строк . . . . . .
1.4. Пробелы
1.5. Идентификация и последовательная нумерация
1.6. Выбор имен переменных
1.7. Имена файлов
1.8. Стандартные сокращения
1.9. Перенос
1.10. Размещение операторов
1.11. Упорядочение списков по алфавиту
1.12. Скобки
1.13. Отступы от начала строки
1.14. Выбор имен разделов
1.15. Нечитаемые программы . . .. . . .
1.16. Заключение . . . . - .
1.17. Советы программисту
1.18. Упражнения .
Литература

Глава 2. Проектирование программ 45
2.1. Стремление к простоте . . . . . . .
2.2. Чтение программ
2.3. Описание задачи
2.4. Выбор алгоритма .
2.5. Описание данных
2.6. Выбор языка программирования
2.7. Универсальность .
2.8. Библиотеки
2.9. Форматы ввода-вывода
2.10. Создание условий для работы оператора
2.11. Скромные цели
2.12. Установление целей
2.13. Сложность .
2.14. Структурное программирование
2.15. Размышления о структурном программировании
2.16. Кодирование сверху вниз . . . . . . .
2.17. Бригада главного программиста
2.18. Библиотека поддержки разработки . . . .
2.19. Использование программ . . . . . . .
2.20. Документирование
2.21.Переписывание программ . . . . . . .
2.22. Советы программисту
2.23. Упражнения
Литература

Глава 3. Эффективность программ
3.1. Отношение к эффективности . . . . . .
3.2. Эффективность или удобочитаемость?
3.3. Оптимизирующие компиляторы
3.4. Оптимизация программ
3.5. Эффективность выполнения программ
3.6. Память
3.7. Вычисление констант
3.8. Инициирование переменных
3.9. Арифметические операции
3.10. Обращения к функциям ;
3.11. Оптимизация в процессе компилирования
3.12. Исключение циклов
3.13. Организация циклов
3.14. Оптимизация циклов
3.15. Условные выражения
3.16. Логические выражения
3.17. Индексация
3.18. Ввод-вывод
3.19. Изучение новых операторов
3.20. Предупреждающие сообщения
3.21. Загрузочные модули
3.22. Модули
3.23. Использование сведений о машине и компиляторе
3.24. Заключение . . .
3.25. Советы программисту
3.26. Упражнения . . .
Литература

Глава 4. Отладка программ . . .
4.1. Различие между отладкой и тестированием .
4.2. Отладочный барьер
4.3. Ошибки в описании задачи
4.4. Ошибки в выборе алгоритма .
4.5. Ошибки анализа
4.6. Ошибки общего характера .
4.7. Ошибки физического характера . , . .
4.8. Разметка программной колоды . . . .
4.9. Бесхитростное программирование . . . .
4.10. Правильность программ . . . . . .
4.11. Синтаксические ошибки
4.12. Виды отладки
4.13. Общие рекомендации
4.14. Неопределенные переменные .
4.15. План распределения памяти
4.16. Таблица перекрестных ссылок . . . .
4.17. Опечатки .
4.18. Проверка программы за столом . . . .
4.19. Описание переменных . . . . . . .
4.20. Ошибки ввода-вывода
4.21. «Психология» программных ошибок .
4.22. Патология чисел 1
4.23. Обнаружение ошибок
4.24. Защитное программирование
4.25. Утверждения
4.26. Список характерных ошибок
4.27. Двумерность программ
4.28. Средства, отладки . . . . . . . .
4.29. Отладка в интерактивном режиме
4.30. Отладочные модули для проверки программ
4.31. Автоматические проверки
4.32. Программирование без ошибок 220
4.33. Псевдоотладка '. 222
4.34. Время, необходимое для отладки 223
4.35. Предотвращение ошибок 224
4.36. Заключение 225
4.37. Советы программисту 226
4.38. Упражнения 226
Литература 242

Глава 5. Тестирование (испытание) программ 243
5.1. Небрежность начинающих программистов 244
5.2. Проблема живучести программы . 244
5.3. Общие рекомендации 245
5.4. Необходимая полнота тестирования 246
k 5.5. Невозможность исчерпывающего тестирования 248
5.6. Технические требования к тестированию 249s
5.7. Необходимость раннего тестирования 250
5.8. Проверка правильности проектных решений 251
5.9. Методы тестирования 254
5.10. Тестовые данные 256
5.11. Примеры тестов 268
5.12. Тестирование программ математических вычислений . . . . 276
5.13. Модули 271
5.14. Библиотека программ 276
5.15. Тестирование файлов 274
5.16. Системные испытания . 274
5.17. Средства тестирования 275
5.18. Контроль результатов с помощью проверяемой программы . . 279
5.19. Окончательное утверждение программы 280
5.20. Планирование тестирования программ . 280
5.21. Оценка полноты проверки программы 282
5.22. Повторное тестирование ' 283
5.23. Группа тестирования 284
5.24. Заключительные замечания 286
5.25. Советы программисту 286
5.26. Упразднения 287
Литература 294

Глава 6. 101 задача по программированию 295
6.1. Численные задачи . 295
6.2. Игровые задачи 297
6.3. Графические задачи 299
6.4. Криптографические задачи 299
6.5. Задача яа формирование последовательностей символов . . . 300
6.6. Статистические задачи 301
6.7. Задача на компилирование . 302
6.8. Задачи до сортировке 302
6.9. Вычислительные задачи 303
6.10. Задачи с массивами 305
6.11. Задачи с процентными доходами . 305
6.12. Задача, связанные с деловой и бытовой сферами 305
6.13. Задачи на размен денег , 313
6.14. Задачи о календаре 1 313

Приложение. Групповая разработка проектов 314
Литература 315
Предметный указатель 315