Александр Бугаев (a_bugaev) wrote,
Александр Бугаев
a_bugaev

Замечательная формулировка принципов программирования

http://www.livejournal.com/users/vinichenko/1898.html

Очень правильно по сути, а также точно и ясно по форме.
Там речь про UNIX, но мне кажется, все имеет универсальную ценность.
Правило модульности.
Пишите простые компоненты, взаимодействующие через ясные интерфейсы.

Правило ясности.
Ясность лучше изощренности.

Правило композиции.
Разрабатывайте программы, которые можно объединять с другими программами.

Правило разделения.
Отделяйте политику от механизма [ее реализации], отделяйте интерфейсы от функциональных компонент.

Правило простоты.
Придерживайтесь простого дизайна; добавляйте сложность только при необходимости.

Правило скупости.
Пишите большую программу лишь в том случае, когда практика недвусмысленно показывает - другого пути нет.

Правило прозрачности.
Делайте работу программы доступной наблюдению, чтобы облегчить контроль и отладку.

Правило устойчивости.
Устойчивость программы – дитя прозрачности и простоты.

Правило представления.
Упаковывайте знания в структуры данных, сохраняя логику программы примитивной и устойчивой.

Правило наименьшего удивления.
Разрабатывая интерфейсы, всегда делайте вещи, вызывающие наименьшее удивление [у пользователя].

Правило молчания.
Когда программа не может сказать ничего содержательного, ей следует молчать.

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

Правило экономии.
Время программиста дорого; экономьте его за счет машинного времени.

Правило генерации.
Избегайте ручного программирования; если возможно, пишите программы, которые будут писать программы для вас.

Правило оптимизации.
Начните с создания прототипа. Сделайте его работоспособным, прежде чем оптимизировать.

Правило разнообразия.
Не верьте любым заявлениям о "единственно верном способе".

Правило раcширяемости.
Разрабатывайте архитектуру программы с расчетом на будущее - оно наступит скорее, чем вы думаете.
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 3 comments