Цитата:
Сообщение от etc
Никогда нельзя решать задачу без возможности шага вправо-влево.
|
Вот это, кстати, спорное утверждение. Нужен компромисс между реализацией решающей конкретную задачу, нужную именно в данный момент и реализацией, которая будет абстрактна и учитывать возможные расширения задачи в будущем.
На самом деле, в 80% случаев абстракции избыточны. Но по правилу 80/20 - в 20% они всё-же очень и очень нужны. ))
Нужно просто быть готовым к резкому изменению ТЗ. При итерационном подходе и разработке через рефакторинг, это не снег на голову, а нормальный рабочий процесс.
Т.е. нужно не делать класс учитывающий все варианты возможных событий. А просто проектировать так, чтобы этот класс можно было поменять на другой без особого ущерба.