Зарегистрироваться | Сообщения за день | Поиск | Все разделы прочитаны |
Результаты опроса: Какой вариант вы бы предпочли? И почему? | |||
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. Вы ещё не голосовали в этом опросе |
|
Опции темы |
![]() |
#21 |
Участник
|
Цитата:
Сообщение от belugin
![]() В дотнете tryxxx
это тот же самый случай. Только с другого конца. Спасибо! Жаль, что для x++ бесполезен из-за "особенностей" обработки try/catch в транзакциях. ============= причем такие соглашения не дают абсолютно никаких гарантий. tryxxx не гарантирует, что метод не бросит исключений (что все исключения обрабатываются) *noThrow тоже не гарантирует, что метод не бросит исключений *OrThrow тоже ничего не гарантирует. однако из всех синтаксических соглашений мне больше нравится OrThrow поскольку сообщает, что в этом месте программист явно добавил свои исключения, и больше никаких обещаний такое именование не дает. Что дает читающему абсолютно понятный "контракт". собственно поэтому в вопросе явно указан [CodeStyle] и задан вопрос о ваших предпочтениях. а не о том, "как правильно". Последний раз редактировалось mazzy; 02.08.2021 в 10:04. |
|
![]() |
#22 |
Участник
|
Цитата:
X++: strFmtOrThrow(getFormatStringFromSetupTableOrThrow(), transaction.calculateTaxAmountOrThrow()); С моей точки зрения OrThrow больше, так что можно принять его по умолчанию и как-то выделять методы которые, наоброт, не выкидывают исключения. |
|
![]() |
#23 |
Участник
|
Цитата:
Вот ведь радикальный фундаменталист... Цитата:
Цитата:
(возвращаясь к опросу) |
|
![]() |
#24 |
Участник
|
подумал...
Цитата:
в этих платформах рекомендуется делать настолько длинные имена насколько нужно, чтобы точно донести до читающего назначение метода сравни X++: strFmtOrThrow( getFormatStringFromSetupTableOrThrow(), transaction.calculateTaxAmountOrThrow() ); |
|
![]() |
#25 |
Участник
|
|
|
![]() |
#26 |
Участник
|
Если есть reasonable default, то префикс не нужен, чтобы точно донести...
|
|
![]() |
#27 |
Участник
|
Да. Логика другая. Это же не методы ValidateAndRun() и ValidateAndRunNoThrow(). В терминах исходного вопроса тут уместен был бы ValidateNoThrow()
Цитата:
Цитата:
1. Рассматриваемый здесь CodeStyle - не стандарт. Собственная разработка 2. При создании методов "естественным путем" требуется рефакторинг, который, в свою очередь, требует времени и сил. Вот сильно сомневаюсь, что с этим станут заморачиваться Т.е. это все-таки проблемы той команды, которая этот самый CodeStyle будет поддерживать... Цитата:
А вот если задача оказалась не разовая, а часто повторяется, вот в этом случае уже повод задуматься о рефакторинге и каком-то более удобном способе вызова Цитата:
Цитата:
Т.е. в исходной постановке задачи в данном теме - это метод ValidateWrite() скопировать в метод ValidateWriteNoThrow(), а в самом ValidateWrite() вывести исключение, если проверка с ошибкой Не надо "копать глубже" и делать ValidateAndWriteNoThrow() - это уже явно лишнее и избыточное решение В теории. На практике возможны варианты. И вот не знаю, к счастью или к сожалению. Нет однозначного ответа
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
![]() |
#28 |
Microsoft Dynamics
|
И так и так. В одном случае так, а в другом по другому. Например, код вызываемый на кнопке для проверки текущей строки или обработка кучи записей в цикле, что бы найти все ошибки во множестве записей.
Это как спросить, "вы будете есть ложкой или вилкой" и не уточнить меню. ![]() Отвечю универсально: буду есть и ложкой, и вилкой, и еще попрошу нож ![]() Последний раз редактировалось AlexSD; 03.08.2021 в 00:36. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|