Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Свитки
  
 

Фильтр по датам

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  21:14[Войти] | [Зарегистрироваться]

Советы программисту по книге Д. Ван Тассела

Александр Малыгин
дата публикации 14-02-2002 18:22

Советы программисту по книге Д. Ван Тассела

Данный материал представляет собой выписку из одной известной книги по методологии программирования. Несмотря на то, что она была написана в 1978 году (в переводе вышла в 1985), ее ценность бесспорна и по сей день. Это классика. Следование советам из этой книги облегчает жизнь программисту.

Здесь приведены названия и эпиграфы всех глав книги и основные мысли, перечисленные в краткой форме в конце каждой из них. К авторскому тексту ничего не добавлено и не изменено.
СТИЛЬ, РАЗРАБОТКА, ЭФФЕКТИВНОСТЬ, ОТЛАДКА И ИСПЫТАНИЕ ПРОГРАММ

СОВЕТЫ ПРОГРАММИСТУ (выдержка из книги)

Денни Ван Тассел.

1. Стиль программирования

Цель программирования - не создание программы, а получение результатов вычисления.

Кодирование, увы, само по себе ничего не стоит - существенны результаты!

  • Помните: программы читаются людьми.
  • Делайте комментариев больше, чем это кажется необходимым.
  • Используйте вводные комментарии.
  • Делайте оглавление в больших программах.
  • Комментарии должны содержать дополнительную информацию, а не перефразировать программу.
  • Располагайте комментарии таким образом, чтобы это не делало программу менее наглядной.
  • Неправильные комментарии хуже, чем их отсутствие.
  • Делайте пробелы для улучшения читаемости программы.
  • Используйте имена с подходящей мнемоникой.
  • При наименовании файлов используйте определенный префикс или суффикс.
  • Одного оператора в строке достаточно.
  • Упорядочивайте списки по алфавиту.
  • Скобки обходятся дешевле, чем ошибки.
  • Для выявления структуры программы используйте отступы.
  • Для выявления структуры данных используйте отступы.

2. Проектирование программ.

Большие программы подобны спагетти на тарелке: тянешь с одной стороны - что-то движется с другой.

Хорошее правило - ожидать всегда наихудшего; это относится и к программам.

Я не программирую и наполовину своих возможностей.

  • Стремитесь к простоте.
  • Добивайтесь точности при определении задачи.
  • Выбирайте алгоритм задачи самым тщательным образом.
  • Выбирайте представление данных, соответствующее задаче.
  • Используйте в качестве параметров переменные, а не константы.
  • Создавайте универсальные программы.
  • Не перепрограммируйте функцию квадратного корня.
  • Устанавливайте цели проекта заблаговременно и точно.
  • Сначала напишите программу на естественном языке.
  • Разрабатывайте тестовые данные заранее.
  • Прежде, чем начать программировать, разработайте проект.
  • Исключайте ошибки с самого начала.
  • Короткие модули предпочтительнее длинных.
  • Стремитесь к минмиальному использованию операторов GOTO.
  • Прежде, чем программировать, запишите программу в псевдокодах.
  • Планируйте возможные изменения в программе.
  • Начинайте документирование на стадии разработки программы.
  • Не бойтесь начинать программирование сначала.

3. Эффективность программ.

Отчего у нас никогда нет времени сделать что-либо хорошо, но всегда находится время на переделку.

Высокая эффективность программ снижает расходы по эксплуатации и делает возможным то, что нельзя сделать, если программы неэффективны.

  • Если программа неправильна, не имеет значения, какова ее эффективность.
  • Определяйте требования к эффективности программы на стадии проектирования.
  • Удобочитаемость программы обычно более важна, чем эффективность.
  • Используйте оптимизирующий компилятор.
  • Профилируйте ваши программы.
  • Инициируйте переменные во время компилирования.
  • Избегайте смешанных типов данных.
  • Оптимизируйте сначала внутренние циклы.
  • Используйте для индексации наиболее предпочтительный тип данных.
  • Группируйте записи в эффективные блоки для ввода-вывода.
  • Используйте загрузочные модули.

4. Отладка программ.

...Возмездье
Рукой бесстрастной чашу с нашим ядом
Подносит нам же...
Шекспир. Макбет

Одно из затруднений, связанных со скрытыми дефектами программ, заключается в том, что вероятность их проявления возрастает со временем и с расширением масштабов использования программы.

Программа, свободная от ошибок, есть абстрактное теоретическое понятие.

  • Применяйте отладочный компилятор.
  • Первым делом проверяйте программу за столом.
  • Выполняйте эхо-проверку вводимых данных.
  • Вводите средства отладки как можно раньше.
  • Контролируйте правдоподобность вводимых данных.
  • Используйте доступные для вас средства отладки.
  • Делайте программу правильной с самого начала.

5. Тестирование (испытание) программ.

Тестирование призвано указывать на наличие, а не на отсутствие ошибок.
Дейкстра.

О тестировании необходимо думать на протяжении всего периода разработки программы.

  • Обходитесь минимальным количеством контрольных примеров.
  • Учитывая, что исчерпывающее тестирование невозможно, испытывайте программу разумно.
  • Начинайте тестирование как можно раньше.
  • Прежде всего проводите ручную проверку.
  • Старайтесь проверять правильность принципов построения системы на ее простом варианте.
  • Старайтесь применять тестирование по методу сверху вниз.
  • В каждом следующем тесте должен использоваться класс данных, отличный от предыдущего.
  • Испытывайте программу в нормальных, экстремальных и исключительных условиях.
  • Подготавливайте тестовые данные для проверки каждой ветви алгоритма.
  • Повторяйте тестирование после каждого случая внесения изменений в программу.

Александр Малыгин,
Специально для Королевства Delphi




Смотрите также материалы по темам:
[Проектирование, постановка задачи, средства разработки]

 Обсуждение материала [ 28-04-2010 05:02 ] 11 сообщений
  
Время на сайте: GMT минус 5 часов

Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования