Метод должен делать одну вещь и делать это хорошо. Он не должен делать ничего более или менее того, что подразумевает его название. Метод CustomerSave также не должен нормализовать адрес клиента.
Метод должен касаться только одного «уровня» функциональности. Если в методе CustomerSave появляется более одной строки кода для каждого из следующих действий: открытие базы данных, регистрация изменений, проверка безопасности и т. Д., Тогда код работает на неправильном уровне, и необходимо создать новые методы для решения эти вещи в правильной детализации.
Метод обычно должен быть очень коротким. Только при особых обстоятельствах метод должен распространяться на более чем один экран. Если метод длиной в сто строк, то что-то очень, очень неправильно.
Код не должен быть повторяющимся. Дублирующая функциональность должна быть размещена в методе.
Методы должны быть разработаны таким образом, чтобы можно было легко вносить типичные изменения. Если небольшое изменение необходимо внести в десятки мест, то это сигнализирует о повторяющемся коде, который должен быть размещен одним способом.