Зарегистрироваться | Поиск |
Результаты опроса: Как лучше оформлять несколько условий в select where? | |||
Я предпочитаю указывать операторы до условия | 27 | 60.00% | |
Я предпочитаю указывать операторы после условия | 15 | 33.33% | |
Нет предпочтений: иногда делаю так, иногда иначе | 3 | 6.67% | |
Не знаю/Мне все равно | 0 | 0% | |
Голосовавшие: 45. Вы ещё не голосовали в этом опросе |
|
Опции темы |
23.06.2011, 23:06 | #21 |
Участник
|
Уже столько всего сказано... я предпочитаю форматировать запросы так:
X++: while select createdbBy, createdDateTime, RecId from bankClientPayment_RU where bankClientPayment_RU.RContractAccount notexists join RContractTable where ( ( RContractTable.RContractPartnerType == RContractPartnerType::Cust && BankClientPayment_RU.PartnerType == ModuleCustVend::Cust ) || ( RContractTable.RContractPartnerType == RContractPartnerType::Vend && BankClientPayment_RU.PartnerType == ModuleCustVend::Vend ) ) && RContractTable.RContractAccount == bankClientPayment_RU.RContractAccount && RContractTable.RContractCode == bankClientPayment_RU.RContractCode Собственно, основной принцип, как уже отмечали тут, - это возможность править впоследствии код, затрагивая минимум исходных строк, в идеале - лишь добавляя новые строки, чтобы на сравнении они были бы четко отделены от исходного варианта кода. В этом отношении очень раздражает, что в стандартном функционале какой-нить вызов метода с тучей параметров бывает если и написан даже с каждым параметром на отдельной строке, то последний обязательно оказывается на одной строке с закрывающей скобкой. Ну <censored> просто, ни фига о других не думают... |
|
24.06.2011, 04:17 | #22 |
Участник
|
А в Best practice по Ax2009 хоть кто-нибудь заглядывал?
http://www.microsoft.com/download/en...ng=en&id=23084 рекомендуют исключительно в начале строки (до условия)... |
|
|
За это сообщение автора поблагодарили: wolfstein (2). |
24.06.2011, 07:39 | #23 |
Участник
|
1. спасибо
2. вопрос то был о предпочтениях. 3. многие еще на трешке, там это не регламентировалось, но сами разработчики часто писали операторы ПОСЛЕ условий. |
|
24.06.2011, 10:19 | #24 |
Участник
|
я же не в ультимативной форме, просто показалось странным, что никто не упомянул...
Цитата:
я это не к тому, чтобы кого-то поправить или указать - понятно, что предпочтения и рекомендации все это... а вот в одном коллективе лучше, чтоб стиль был один. сейчас вот учим нового сотрудника и код его меняется в зависимости от того, кто из программистов в данный момент ему наставничает... |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
24.06.2011, 10:40 | #25 |
Участник
|
|
|
24.06.2011, 14:13 | #26 |
Участник
|
Цитата:
Сообщение от Zabr
Wamr меня опередил. В точности так. С той поправкой, что "текущее ощущение прекрасного" как правило заставляет выровнять знаки равенства:
X++: && RContractTable.RContractAccount == bankClientPayment_RU.RContractAccount && RContractTable.RContractCode == bankClientPayment_RU.RContractCode X++: && ! RContractTable.RContractAccount X++: && RContractTable.RContractAccount == '' |
|
24.06.2011, 16:45 | #27 |
Moderator
|
mazzy, а можно синхронизировать понятия "вариант 1" и "вариант 2" из стартового сообщения с понятиями "до условия" и "после условия" ? например, явно прописать "вар 1" и "вар 2" в пунктах голосования, а то сейчас мне кажется, что они перекрестились (наверное, торможу к вечеру и к концу недели).
Мой выбор будет: where (...) && (...) && (...) это значит в какой пункт надо ткнуть? Спасибо. |
|
24.06.2011, 16:52 | #28 |
Участник
|
|
|
24.06.2011, 17:04 | #29 |
Moderator
|
Одно время даже страдал таким выпендражем, как вставка в строку c where фиктивного условия типа where 1==1 или where true. В этом случае все реальные условия ниже единообразно начинались с && - было удобно комментировать условия в процессе отладки.
|
|
24.06.2011, 17:23 | #30 |
Участник
|
Вот и я тоже не понял, пока mazzy только что не разъяснил. Почему написано "после", когда оно "до"? Ну, в смысле, в одной строке "до". Хотя, если "после" - это после первого условия, то как тогда понимать "до"? Ведь до первого условия поставить ничего нельзя. Совсем запутался.
У меня почему-то сильное подозрение, что большинство проголосовало не так, как они работают на самом деле по причине непонятности текста пунктов голосования. Я проголосовал только что, после четкого разъяснения чему же соответствуют пункты. |
|
24.06.2011, 19:57 | #31 |
Британский учённый
|
Последние несколько лет пишу так, кажется более удобным для чтения.
Заметил, что некоторые участники форума придерживается такой же структуры. X++: if ( ( prodLabelType == KAB_ProdLabelType::FinalLabel
|| prodLabelType == KAB_ProdLabelType::ControlledLabel)
&& confirmedQty > 0)
{ X++: while select salesTable index StatusCustAccIdx where salesTable.SalesStatus == SalesStatus::Backorder join TableId from CustTable index AccountIdx where CustTable.AccountNum == salesTable.CustAccount && CustTable.CustGroup != 'KSS' join forupdate salesLine index SalesLineIdx where salesLine.SalesId == salesTable.SalesId && salesLine.RemainSalesPhysical > 0 |
|
24.06.2011, 20:26 | #32 |
Участник
|
Просто ради проверки моего предположения. Все ли голосовавшие поняли, что пункты голосования означали следующее:
Я предпочитаю указывать операторы до условия X++: where (...) &&
(...) &&
(...) X++: where (...)
&& (...)
&& (...) |
|
24.06.2011, 20:40 | #33 |
Участник
|
Цитата:
Сообщение от Владимир Максимов
Просто ради проверки моего предположения. Все ли голосовавшие поняли, что пункты голосования означали следующее:
Я предпочитаю указывать операторы до условия X++: where (...) &&
(...) &&
(...) X++: where (...)
&& (...)
&& (...) понятно. закрываем тему, пересоздаем. Как лучше оформлять несколько условий в select where? Повторная попытка пожалуйста, проголосуйте заново. |
|
Теги |
select, как правильно, оформление кода, условия |
|
Похожие темы | ||||
Тема | Ответов | |||
select в X++ и список значений в условии where | 20 | |||
QueryBuildRange в select.. where | 11 | |||
Разница NotInTTS и Found | 6 | |||
Вопрос про Demand Planner | 4 | |||
select * where ... | 10 |
|