Зарегистрироваться | Поиск |
Результаты опроса: Какой вариант вы бы предпочли? И почему? | |||
validateAndWrite() + validateAndWriteNoThrow() | 1 | 8.33% | |
validateAndWriteOrThrow() + validateAndWrite() | 0 | 0% | |
validateAndWrite(boolean noThrow = false) | 1 | 8.33% | |
validateAndWrite(boolean noThrow = true) | 0 | 0% | |
validateAndWrite(boolean throwIfError = false) | 0 | 0% | |
validateAndWrite(boolean throwIfError = true) | 2 | 16.67% | |
я предложил свой вариант в этой ветке | 2 | 16.67% | |
затрудняюсь ответить, просто хочу посмотреть результаты опроса | 6 | 50.00% | |
Голосовавшие: 12. Вы ещё не голосовали в этом опросе |
|
Опции темы |
30.07.2021, 21:11 | #14 |
Участник
|
Вообще говоря, пример с validateWrite + Write наглядный, но вводит в заблуждение относительно самой постановки вопроса. Сразу вопрос о транзакциях, разделении проверки и модификации и т.д. и т.п. Если не рассматривать именно этот пример, а сосредоточится на исходной постановке
Метод возвращает true/false. Если false, то следует ли вызывать исключение вместо возврата false? То тут проблема не столько в разовом (однократном) написании, сколько в сопровождении. Т.е. возможности внесения изменений Например, к указанной постановке задачи еще добавляют, а надо ли в случае false, если это не throw выводить текст сообщения об ошибке? Или, например, делать throw не для всех ошибок, а только для определенных? Если у нас один метод с параметром, то просто добавим еще параметры в этот один метод. А если методов много, то во все придется делать такое добавление. Ну, и традиционно, дублирование кода получаем, что крайне не желательно. Впрочем, об этом уже говорили Т.е. я за один общий метод с параметрами. Насчет того, что придется смотреть, что этот метод делает и что это за параметры, так это в любом случае придется делать. Даже если это будет в исходной постановке с кучей специализированных методов. По многим причинам То же самое и по поводу сокращения написания кода. Ну очень сомнительный аргумент. Далеко не факт, что такое сокращение вообще получится. А в общем случае, основное время разработчик тратит вовсе не на первичное написание кода, а на его отладку.
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
|