pol@nder
Умник
Предыдущий урок по стилю программирования - http://pawno-info.ru/threads/210777-Стиль-программирования.
1. Лучшее правило - ожидать худшего.
2. У нас никогда нет времени и терпения сделать что-либо хорошо, у нас всегда есть время переделать.
3. Принцип макарон - тянешь с одной стороны, что-то движется с другой.
Определение задачи.
Чем позже уточняется постановка задачи, тем сложнее добиться ее решения.
Описание задачи - это развернутая постановка задачи, определение требований к программе. Первый и необходимый этап решения задачи. Четкость и точность описания - необходимое условие получения результата.
Выбор алгоритма - это наиболее ответственный шаг с точки зрения эффективности (как программы, так и программирования); хороший алгоритм - необходимое (но не достаточное) условие хорошей программы.
Описание данных.
Представление должно соответствовать данным.
Данные должны соответствовать задаче.
Представление данных имеет такое же значение, как и выбор алгоритма. Неудачное описание данных может существенно повлиять на программу и программирование.
Модули.
Определение часто встречающихся и перекрещивающихся объектов и объединение их.
Модульность - мощное средство борьбы со сложностью.
Сложность - параметр такой же важности, как время и память.
Независимость отдельных модулей и подпрограмм
- друг от друга;
- от источника входных данных;
- места назначения выходных данных;
- предыстории.
Универсальность - независимость программы от конкретного набора данных.
Настройка по параметрам.
Использование именованных констант.
Четкое определение определяющих параметров задачи.
Цели.
Установка целей - прежде всего.
Установка целей - чем точнее и раньше, тем лучше.
Скромнее. Грандиозные цели могут не позволить довести программу до конца.
Смелее. Жалкие цели - жалкие результаты.
Проектирование сверху вниз.
Задача решается на естественном языке, а на языке программирования только кодируется.
Разработка тестов - составная часть решения задачи.
Строить систему тестов надо вместе с разработкой алгоритма.
Кодирование должно быть простым. Сложно написанные программы - показатель плохого качества программирования.
Структура программы должна отражать ее логику.
Отдельные операторы тоже должны быть простыми для понимания; оптимальная длина оператора - 7 элементов.
Постоянство приемов кодирования.
Кодирование сверху вниз.
Начинаем с "программы" на псевдокоде - в обозначениях, без использования машины и языка программирования, а затем тестируем ее.
Исправление ошибок - чем раньше, тем дешевле.
Планирование возможных изменений в программе.
Не бойтесь начинать программирование сначала. Заплатки ставят на основу, а не на другие заплатки.
1. Лучшее правило - ожидать худшего.
2. У нас никогда нет времени и терпения сделать что-либо хорошо, у нас всегда есть время переделать.
3. Принцип макарон - тянешь с одной стороны, что-то движется с другой.
Определение задачи.
Чем позже уточняется постановка задачи, тем сложнее добиться ее решения.
Описание задачи - это развернутая постановка задачи, определение требований к программе. Первый и необходимый этап решения задачи. Четкость и точность описания - необходимое условие получения результата.
Выбор алгоритма - это наиболее ответственный шаг с точки зрения эффективности (как программы, так и программирования); хороший алгоритм - необходимое (но не достаточное) условие хорошей программы.
Описание данных.
Представление должно соответствовать данным.
Данные должны соответствовать задаче.
Представление данных имеет такое же значение, как и выбор алгоритма. Неудачное описание данных может существенно повлиять на программу и программирование.
Модули.
Определение часто встречающихся и перекрещивающихся объектов и объединение их.
Модульность - мощное средство борьбы со сложностью.
Сложность - параметр такой же важности, как время и память.
Независимость отдельных модулей и подпрограмм
- друг от друга;
- от источника входных данных;
- места назначения выходных данных;
- предыстории.
Универсальность - независимость программы от конкретного набора данных.
Настройка по параметрам.
Использование именованных констант.
Четкое определение определяющих параметров задачи.
Цели.
Установка целей - прежде всего.
Установка целей - чем точнее и раньше, тем лучше.
Скромнее. Грандиозные цели могут не позволить довести программу до конца.
Смелее. Жалкие цели - жалкие результаты.
Проектирование сверху вниз.
Задача решается на естественном языке, а на языке программирования только кодируется.
Разработка тестов - составная часть решения задачи.
Строить систему тестов надо вместе с разработкой алгоритма.
Кодирование должно быть простым. Сложно написанные программы - показатель плохого качества программирования.
Структура программы должна отражать ее логику.
Отдельные операторы тоже должны быть простыми для понимания; оптимальная длина оператора - 7 элементов.
Постоянство приемов кодирования.
Кодирование сверху вниз.
Начинаем с "программы" на псевдокоде - в обозначениях, без использования машины и языка программирования, а затем тестируем ее.
Исправление ошибок - чем раньше, тем дешевле.
Планирование возможных изменений в программе.
Не бойтесь начинать программирование сначала. Заплатки ставят на основу, а не на другие заплатки.
