Все-таки хорошо бы разделять стандарт (стиль) программирования и паттерны. Нпример, чтобы не путаться. Я бы в качестве аналогии привел конструкторскую документацию:
стиль/стандарт — оформление чертежей и конструкторской документации
паттерны — типовые конструкции узлов изделий
Я бы сказал, что шаблоны проектирования это скорее типовые примеры грамотного конструирования элементов программы. Их использование, кроме прочего позволяет писать понятные другим программистам программы.
В общем случае конструирование программы должно подразумевать следующие шаги:
— Анализ задачи.
— Подготовка требований к программе
— Анализ возможных изменений программы в будущем (например, добавление новых типов интерфейсов)
— Разбиение на модули/объекты/массивы объектов
— В нужных/ключевых местах подбор подходящих паттернов. Обязательно учитывая отношение эффективности их применения к затратам, хотя бы приблизительно.
Не голосовал, так как в маленькой фирме приходится все делать самому:
— Руководство фирмой
— Выбор и покупка железа
— Конфигурирование сети
— Выбор ПО для работы и оффисных задач
— Выбор специализации фирмы
— Поиск клиентов
— Работа с клиентами
— Выбор архитектуры (если нужно)
— Разработка
— Тестирование
— Поддержка
С/С++, Perl, Python, shell, elisp. Использую тогда, когда считаю, что это наиболее эффективно по затратам времени. Часто это самый легкий и быстрый путь, но иногда бывают трудности и сюрпризы с отладкой.
Если проводить аналогию со спортом, то там есть несколько принципов, лично я придерживаюсь двух:
1. Сверхвосстановление
2. Ударные тренировки
1. Первый принцип означает то, что устав на тренировке, к следующей тренировке нужно сверхвосстановится, т.е. восстановится так, чтобы тренируемого качества было бы хоть немного, но больше, чем перед предыдущей тренировкой. Этот принцип позволяет подобрать нагрузку и интервалы между тренировками. Если нагрузка слишком большая и/или интервалы слишком маленькие, тренируемое качество расти не будет, а будет только все более увеличивающаяся усталость.
2. Ударные тренировки. Если тренироваться только по первому методу, то сначала идет рост, потом организм привыкает к нагрузкам и рост останавливается. Вводим в режим ударные тренировки. Т.е. с определенной периодичностью, скажем, каждую пятую тренировку, проводим с нагрузкой, например в полтора раза большей, следующая тренировка восстановительная, облегченная. Ударные тренировки дают двойной эффект. Ломают привычку организма и тренируют физическую и психологическую способность переносить ударные нагрузки.
Эти методики мне кажется хорошо применимы и к развитию силы воли.
стиль/стандарт — оформление чертежей и конструкторской документации
паттерны — типовые конструкции узлов изделий
В общем случае конструирование программы должно подразумевать следующие шаги:
— Анализ задачи.
— Подготовка требований к программе
— Анализ возможных изменений программы в будущем (например, добавление новых типов интерфейсов)
— Разбиение на модули/объекты/массивы объектов
— В нужных/ключевых местах подбор подходящих паттернов. Обязательно учитывая отношение эффективности их применения к затратам, хотя бы приблизительно.
— Руководство фирмой
— Выбор и покупка железа
— Конфигурирование сети
— Выбор ПО для работы и оффисных задач
— Выбор специализации фирмы
— Поиск клиентов
— Работа с клиентами
— Выбор архитектуры (если нужно)
— Разработка
— Тестирование
— Поддержка
1. Сверхвосстановление
2. Ударные тренировки
1. Первый принцип означает то, что устав на тренировке, к следующей тренировке нужно сверхвосстановится, т.е. восстановится так, чтобы тренируемого качества было бы хоть немного, но больше, чем перед предыдущей тренировкой. Этот принцип позволяет подобрать нагрузку и интервалы между тренировками. Если нагрузка слишком большая и/или интервалы слишком маленькие, тренируемое качество расти не будет, а будет только все более увеличивающаяся усталость.
2. Ударные тренировки. Если тренироваться только по первому методу, то сначала идет рост, потом организм привыкает к нагрузкам и рост останавливается. Вводим в режим ударные тренировки. Т.е. с определенной периодичностью, скажем, каждую пятую тренировку, проводим с нагрузкой, например в полтора раза большей, следующая тренировка восстановительная, облегченная. Ударные тренировки дают двойной эффект. Ломают привычку организма и тренируют физическую и психологическую способность переносить ударные нагрузки.
Эти методики мне кажется хорошо применимы и к развитию силы воли.