LameUser |
---|
Представте, что после вас придет другой разработчик, которому придется курить вашу рефлексию и понять зачем она здесь. |
естественно, это единственная строчка тщательно прокомментирована.
Кстати, немножко неправильно описал - реализовать метод обязывает интерфейс. Но реализация может быть пустой.
Изопропил |
---|
это забота вызываемого, а не вызывающего |
Ну так о вызываемом и речь. Некто создает экземпляр подкласса и инициализирует его поля. Есть поле, условно говоря "текст сообщения об ошибке".
У подкласса есть метод "проверить на ошибку". Он вызывается "где-то потом", если чо - выведет пользователю указанное сообщение.
Так вот, если метод "проверить на ошибку" реально ничего не проверяет, то допустимо не задавать текст сообщения об ошибке, он все равно не понадобится. Но есть тело есть - сообщение обязано быть. Ловить косяк в момент срабатывания метода нелогично, ситуация может возникать раз в сто лет, а отловить неверную инициализацию подкласса можно довольно просто средствами базового класса и отлов произойдет сразу на этапе разработки при первом же запуске.
Поэтому я сделал такой "самоконтроль для программиста".