AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

Результаты опроса: Какой вариант вы бы предпочли? И почему?
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, 18:33   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Но как и остальным написавшим мне тоже это всё не нравится. Якобы "безопасный" метод, который перехватывает свои исключения и не отдаёт их наружу не должен быть нормой.
да, было бы нормой.
но в аксапте в транзакции срабатывает только самый внешний catch.
поэтому никаких гарантий перехват не даст.

методы NoThrow могут означать, что сам метод исключений не бросает.
но исключение внутри этого метода может бросить ядро.
Поэтому суффикс NoThrow не дает никаких гарантий относительно исключений.

методы с OrThrow означают, что метод содержит throw, который явно вставил автор кода.

Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Это скорее исключение, синтаксический сахар. Это грязный метод, после вызова которого остаётся неопределённость: а что именно выполнилось, что откатилось. Лучше так не делать, а если уж делать такие методы, то пусть их будет видно издалека.
угу. я собственно поэтому и спрашиваю

да, именно про синтаксический сахар, который помогает понять код.
и самому не забывать о.
пример написания самих методов https://github.com/mazzy-ax/SysUtil/....xpp#L498-L519
пример использования я привел выше

Цитата:
Сообщение от trud Посмотреть сообщение
а почему только boolean в параметрах. иногда приходится писать что-то где есть 3 значения.
пиши.

Цитата:
Сообщение от trud Посмотреть сообщение
Т.е. это один метод типа validateAndWrite с параметром типа enum
(o_O)

ты ведь обратил внимание, что мы не сам метод validateAndWrite обсуждаем?
а оформление, которое касается исключений (Throw - NoThrow - OrThrow).
и о том, как оформление кода может помочь, а может запутать читателя.
__________________
полезное на axForum, github, vk, coub.

Последний раз редактировалось mazzy; 30.07.2021 в 18:40.
Старый 30.07.2021, 19:23   #2  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,202 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Цитата:
Сообщение от mazzy Посмотреть сообщение
а оформление, которое касается исключений (Throw - NoThrow - OrThrow).
и о том, как оформление кода может помочь, а может запутать читателя.
Обработку исключений я бы делал снаружи. Потому что обработка внутри метода сразу ограничивает возможности его использования. Лучше иметь больше возможностей, чем меньше. Лучше иметь возможность по-разному реагировать на исключения в разных случаях использования такого метода, чем не иметь возможности этим управлять,
Старый 30.07.2021, 19:41   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Zabr Посмотреть сообщение
Обработку исключений я бы делал снаружи.
делайте.
(только помните, что любой может начать транзакцию и вызвать ваш код. и ваша обработка тут же превратится в тыкву во внутреннюю)

а внутри то методы как писать?
__________________
полезное на axForum, github, vk, coub.
Старый 30.07.2021, 21:01   #4  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,202 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Цитата:
Сообщение от mazzy Посмотреть сообщение
а внутри то методы как писать?
Сергей, перечитайте свой исходный пост. Там нет вопроса, как писать внутри. Там вопрос, писать ли один метод или два. Вам отвечают на заданный вопрос, а Вы ожидаете ответов на другой вопрос, который не задавали. Поэтому Вам не нравятся ответы. Попробуйте переформулировать вопрос.

А писать надо красиво и аккуратно.
Старый 30.07.2021, 22:33   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Zabr Посмотреть сообщение
Сергей, перечитайте свой исходный пост. Там нет вопроса, как писать внутри. Там вопрос, писать ли один метод или два.
Цитата:
Сообщение от Zabr Посмотреть сообщение
Вам отвечают на заданный вопрос, а Вы ожидаете ответов на другой вопрос, который не задавали.
?!

некоторые отвечают.
вы конкретно где ответили? можно цитату?

Цитата:
Сообщение от Zabr Посмотреть сообщение
Поэтому Вам не нравятся ответы.
Бгггг!

Цитата:
Сообщение от Zabr Посмотреть сообщение
Попробуйте переформулировать вопрос.
Зачем?
Я хотел бы получить ответ именно на заданный вопрос

Цитата:
Сообщение от mazzy Посмотреть сообщение
И тут собственно вопрос по CodeStyle.
Какой вариант вы бы предпочли? И почему?


Цитата:
Сообщение от Zabr Посмотреть сообщение
А писать надо красиво и аккуратно.
Пишите. Не возражаю.
__________________
полезное на axForum, github, vk, coub.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
bojensen: Optional filter in SSRS | Musings by Generator Blog bot DAX Blogs 0 08.09.2014 11:11
emeadaxsupport: Manufacturing Execution in AX 2012: Issue with the "Lock employee"-parameter Blog bot DAX Blogs 0 19.09.2013 18:11
emeadaxsupport: "Parameter is missing a value" error running a customized report in Microsoft Dynamics AX 2012 Blog bot DAX Blogs 0 21.11.2012 00:12
mfp: Optional parameters in C# and X++ Blog bot DAX Blogs 0 30.01.2010 00:05
Developer notes: Null value for ADO command parameter Blog bot DAX Blogs 0 03.05.2008 08:16

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:01.