Саммари доклада: Ниспадающее программирование и его преимущества
Как написать простой понятный код? Воспользоваться алгоритмом на основе ниспадающего программирования:
Написать верхнеуровневые интерфейсы (никакой реализации! и обязательно JavaDoc!).
Написать тест.
Написать интерфейсы ниже уровнем (никакой реализации! и обязательно JavaDoc!).
Написать реализацию.
Запустить тест.
Но одного алгоритма недостаточно, хочется написать интерфейсы так, чтобы код не пришлось переписывать код несколько раз.
Поможет в этом ООП, но вот незадача, одних лишь принципов ООП недостаточно, чтобы написать ООП код.
Нужно ещё обходить тёмную сторону ООП, для этого нужно:
Связей как можно меньше.
Один класс – одна задача.
Все абстракции понятны и необходимы.
Самое частое заблуждение про инкапсуляцию, что ключевого слова private достаточно. Но инкапсуляция — это сокрытие деталей реализации, а не просто private.
Пользуйтесь алгоритмом, держитесь светлой стороны и вы ускорите свою разработку, код станет легко расширять и поддерживать и коллеги скажут вам спасибо.