Я читаю Code Complete 2, и дошел до главы, где говорится (перефразируя) "избегать программирования через интерфейс". Почему плохо программировать "через" интерфейс?
Более конкретный пример: если у меня есть метод класса, который отправляет смешную картинку, что плохого в том, что он будет регистрировать и меня? Должен ли я просто предоставить больше "вспомогательных" методов, которые делают это автоматически?
Будет ли предпочтительнее разбить это на:
В целом, более короткие методы более читабельны и их легче тестировать с помощью модульных тестов. Даже если вы не планируете повторно использовать метод login и/или submit, разбиение его на части облегчает тестирование и обслуживание.