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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.12.2007, 15:34   #21  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Я тоже против таких наворотов. Код для непосвещенного перестает быть читабельным. И вместо того чтобы разбираться в бизнес-логике, человеку сначала придется разобраться в самом способе написания кода.
Миниатюры
Нажмите на изображение для увеличения
Название: 2006_10_24_www_ljplus_ru_img___d__dominant__visualctipga1.jpg
Просмотров: 422
Размер:	74.2 Кб
ID:	3097  
За это сообщение автора поблагодарили: mau (1), Romb (1), petr (3), Kabardian (1).
Старый 12.12.2007, 15:40   #22  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Вы хотите использовать синтаксис и идеологию другой среды программирования
Вы исходите из того, что синаксис и идеология статичны, а это далеко не так. Мне тяжело привести примеры из мира Аксапта, так как средства разработки в нем представляют собой достаточно статичную картину, но если взглянуть на тот же .Net, с которым (согласно "теории о волнах") Аксапта когда то дожна интегрироваться, - то там чуть другая картина. Тот же MS за последний год реализовал, либо оказал поддержку ряду проектов, про которые, когда то Гейтс и прочие говорили, что это туфта и этому не место в промышленной разработке: LINQ, F#, Nemerle и прочие.

Цитата:
И в чужой монастырь со своим уставом лучше не лезть. Ведь и побить могут.
Похоже на дедушку, который поучает внучка, рвущегося к автомобиям в эпоху их зарождения. Если разработчик успешно использует несколько парадигм программирования - хуже от этого точно не будет, а порой, ряд задач он сможет решить более изящно и результативно.

Что же касается моего примера, то честно говоря, вооюще не понимаю, в чем проблема . C каких это пор наследование не вписывается к концепцию Аксапты?
Старый 12.12.2007, 15:45   #23  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
oip

А этот код ты считаешь тоже нечитабельным http://www.axaptapedia.com/SYS_ExpressionQueryBuilder ?
Старый 12.12.2007, 15:47   #24  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Цитата:
Сообщение от Андре Посмотреть сообщение
oip

А этот код ты считаешь тоже нечитабельным http://www.axaptapedia.com/SYS_ExpressionQueryBuilder ?
Для человека, который не знает, что это, этот код будет мягко говоря неожиданным. И точно потребует дополнительного времени для понимания.
За это сообщение автора поблагодарили: kashperuk (1).
Старый 12.12.2007, 15:48   #25  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Для человека, который не знает, что это, этот код будет мягко говоря неожиданным. И точно потребует дополнительного времени для понимания.
А тебе не кажется, что ты оправдываешь нежелание разобраться в чем то новом,потенциально способное принести пользу, тем, что это новое не похоже на старое ?
И еще - попробуй поставить себя на место человека, не видевшего Аксапту - какой код ему будет понятнее?
Старый 12.12.2007, 15:53   #26  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Цитата:
Сообщение от Андре Посмотреть сообщение
А тебе не кажется, что ты оправдываешь нежелание разобраться в чем то новом,потенциально способное принести пользу, тем, что это новое не похоже на старое ?
Не кажется. Аксапта - не для программиста сделана, а для руководителя предприятия. И я совсем не уверен, что для него выгода от тотального использования разных таких самодельных фишек не обернется материальными потерями из-за дополнительной сложности в поддержке такого кода.

Цитата:
Сообщение от Андре Посмотреть сообщение
И еще - попробуй поставить себя на место человека, не видевшего Аксапту - какой код ему будет понятнее?
Какая-то подмена понятий идет. Теплое меняем на мягкое.
За это сообщение автора поблагодарили: glibs (5).
Старый 12.12.2007, 15:56   #27  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
не обернется потерями материальными из-за дополнительной сложности в поддержке такого кода
Извини, но если так рассуждать, то любое развитие среды и языка грозит обернуться материальными потерями и сложностями в обучении. Это относится не только к развитию языка, но и функциональным возможностям - им тоже придется учиться.
Старый 12.12.2007, 16:13   #28  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
1. С прикладным кодом разбираться труднее и больше
2. Маленькая понятная системная штучка может уменьшить объем прикладного кода и с ним станет проще разбираться
Старый 13.12.2007, 10:56   #29  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Цитата:
Сообщение от Андре Посмотреть сообщение
Извини, но если так рассуждать, то любое развитие среды и языка грозит обернуться материальными потерями и сложностями в обучении.
Не любое.

Когда видишь слова типа "все", "любое" и.т.п. жди логической ошибки. (c) Маззи

Надо смотреть, какой будет экономический эффект от этого развития в долгосрочной перспективе, а не то, что будет сложность в обучении. Никто же не против добавления нового функционала в Аксапту, например.

Цитата:
Сообщение от Андре Посмотреть сообщение
Это относится не только к развитию языка, но и функциональным возможностям - им тоже придется учиться.
Вопрос только в целесообразности этого развития.

Цитата:
Сообщение от belugin Посмотреть сообщение
2. Маленькая понятная системная штучка может уменьшить объем прикладного кода и с ним станет проще разбираться
По твоему мнению проще.

Сделайте этот класс стандартом через майкрософт. Если М$ его официально включит в систему, если его все на всех проектах будут использовать - я что, против? А вот если каждый у себя на проекте будет использовать какую-то местную удобную по вашему мнению (а мнение других спросили, тех кто после вас поддерживать, дорабатывать, апгрейдить систему будет? Почему вы считаете, что если что-то удобно вам, то оно будет удобно всем остальным?) приблуду такого рода, то будет хаос. Появляется какое-то программирование ради программирования.
За это сообщение автора поблагодарили: miklenew (1).
Старый 13.12.2007, 11:04   #30  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Можно спросить у Andre наколько быстро он разобрался с билдером...
Старый 13.12.2007, 11:19   #31  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Да не об этом я. И я быстро разобрался. Но я его не использую. Пусть это и ускорит чуть-чуть кодирование. Ну и что? Я вот бОльшую времени трачу не на удар молотом, а на поиск того места, куда надо ударить. А то, что я теперь иногда могу бить этим молотом быстрее, сильно на скорости разработки не скажется. Зато вырисовываются вполне определенные проблемы с таким кодом в будущем.

Цитата:
The code is very fat and contains lots of duplications
Это что, проблема? Это что, проблема для бизнеса? Нет вроде. Тогда что?

Я о самом подходе таком. Я не спорю, что какие-то улучшения делать можно. Но надо уметь вовремя остановиться. И иногда лучше сделать код более простым для понимания и поддержки (читай ближе к стандарту) в ущерб его лаконичности и красоте. Знаю на собственном опыте. Можно сказать, психологическая травма детства.
За это сообщение автора поблагодарили: leva (1), Timofey_k (0).
Старый 13.12.2007, 11:37   #32  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Можно спросить у Andre наколько быстро он разобрался с билдером...
3-4 минуты - ровно столько, сколько мне понадобилось прочитать wiki - страничку. Это очень важно, поэтому я повторюсь - для того, чтобы разобраться как работает эта конструкция мне не надо смотреть ее реализацию. Мне она интуитивно понятна.

Цитата:
Пусть это и ускорит чуть-чуть кодирование.
Она ускорит чтение исходников. Ты меня почти убедил, что это относится не ко всем, но для меня это так.

В общем-то belugin здесь очень правильно написал:

Цитата:
1. С прикладным кодом разбираться труднее и больше
2. Маленькая понятная системная штучка может уменьшить объем прикладного кода и с ним станет проще разбираться
Время потраченное на понимание QueryBulder ничтожно по сравнению со временем, которое требуется на то, чтобы понять некоторые сложные алгоритмы, заложенные в системы (то же закрытие склада, книжки покупок/продаж, сопоставление платежей с оплатами). Оно настролько ничтожно (для меня), что про него не стоит даже говорить - я себе чай долбше завариваю.
С другой стороны, у меня есть уверенность, что если бы разработчики Аксапты стремились бы к подобным конструкциям (лаконичным и выразительным), то вышеназванные алгоритмы были бы понятнее и доступнее.

Почему никто не возмущается, что во всех сложных алгоритмах используются map и container, посмотреть содержимое которых под отладчиком не реально? Зато всех возмущает самодельные обертки над ними, которые позволят избавиться от подобных проблем.

Цитата:
Это что, проблема? Это что, проблема для бизнеса?
Это проблема бизнеса. Если количество людей, которые понимают код книжек покупок/продаж мало, и, сооветственн, цена на таких людей высока - это становится проблемой бизнеса. Да, самописки не решат этих проблем. Но если бы алгоритмы изначально писались с учетом того, что интуитивность кода важнее использования стандартов, они были бы проще.
За это сообщение автора поблагодарили: sukhanchik (4).
Старый 13.12.2007, 11:47   #33  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
[QUOTE=oip;155392]Я вот бОльшую времени трачу не на удар молотом, а на поиск того места, куда надо ударить.
[QUOTE]

Мне кажется, если код меньше, то его читать проще. например, код на встроенном SQL читается лучше по сравнению с QBDS за счет того, что там меньше дублирования впрочем, как и другой текст

Цитата:
Зато вырисовываются вполне определенные проблемы с таким кодом в будущем.
Какие?

Цитата:
Это что, проблема? Это что, проблема для бизнеса? Нет вроде. Тогда что?
Я прошу в дальнейшем в дискуссии к каждому аргументу приводить цепочку рассуждений выводящую выгоду для бизнеса из любого технического улучшения.

Типа "выборка из базы усорилась, поэтому.... поэтому..." и в конце поэтому у акционеров появилось больше денег

Цитата:
Я о самом подходе таком. Я не спорю, что какие-то улучшения делать можно. Но надо уметь вовремя остановиться.
Именно. Вопрос, где именно это "вовремя"

Цитата:
И иногда лучше сделать код более простым для понимания и поддержки (читай ближе к стандарту) в ущерб его лаконичности и красоте. Знаю на собственном опыте. Можно сказать, психологическая травма детства.
Старый 13.12.2007, 11:49   #34  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Почему никто не возмущается, что во всех сложных алгоритмах используются map и container, посмотреть содержимое которых под отладчиком не реально?
Реально!
Старый 13.12.2007, 11:50   #35  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Как?
Старый 13.12.2007, 12:06   #36  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Может создать опрос нужны ли такого рода изменения программеру?
За какой нубудь класс дополнительный я бы спасибо сказал и всё равно что он будет делать главное, чтоб пользоваться было удобно. Но тут похоже на процесс придумования велосипеда с уже имеющегося велосипеда.
Старый 13.12.2007, 12:11   #37  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Может создать опрос нужны ли такого рода изменения программеру?
Зачем? На планы разработки MBS это никак не повлияет и поделка, так и останется поделкой.
Старый 13.12.2007, 12:14   #38  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,305 / 3538 (124) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Выступлю на строне Андре, хотя его конструкция с Args режет мне глаза.
К сожалению нет четких критериев и границ - где нужно останавливаться, а где нет.
Но посмотреть содержимое мапов и контейнеров (а также объектов Set и List) - можно только в простом случае (в стандарте). А если там торчит курсор/класс/контейнер - то можно вешаться.
Есть MapViewer - который позволяет посмотреть объект Map. Это тоже наработка, но для ЧТЕНИЯ кода.
Есть (например) возможность "бить молотом" через шаблоны.

Я считаю, что все разработческие утилиты - можно разделить на утилиты для ЧТЕНИЯ кода и для ПИСАНИЯ кода.
Вот утилиты для ПИСАНИЯ кода - в общем-то (на мой взгляд) - не нужны и может даже вредны - с т.з. привыкания к Аксапте (а также лишнего кода)

А вот утилиты для ЧТЕНИЯ кода - думаю - что будут полезны. Да, это лишний код. Но это окупается (если ими пользуются несколько человек) - при чтении кода (меньше времени тратится на чтение - соотв меньше акционер экономит на оплате).

Но, к сожалению, все эти критерии - чисто субъективные - человека - который принимает решение.
__________________
Возможно сделать все. Вопрос времени
Старый 13.12.2007, 12:15   #39  
Russland is offline
Russland
MCTS
Аватар для Russland
MCBMSS
 
267 / 116 (4) +++++
Регистрация: 17.10.2005
Адрес: Донеччина, Україна
Проблема в том, что в данном случае "инициатива" исходит снизу. Если бы штучки SYS_ExpressionQueryBuilder и им подобные инициировал бы сам Майкрософт все бы говорили: "Wow! Какой прогресс! Все на овладение новым инструментом!". А так, к сожалению, у сообщества остаётся ощущение
Цитата:
придумования велосипеда с уже имеющегося велосипеда.
А жаль.
__________________

В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню
Старый 13.12.2007, 12:18   #40  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от Андре Посмотреть сообщение
Как?
Как и все остальные. Кстати, если перелопределить toString то в дебаггере будет выводится содержимое.
Изображения
 
Теги
ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вызов метода базового класса Eldar9x DAX: Программирование 15 22.03.2008 19:10
Переменные в наследнике класса longson DAX: Программирование 32 12.07.2007 00:09
передача курсора в два класса kitty DAX: Программирование 3 09.08.2006 13:21
Запустить метод класса loka DAX: Программирование 2 13.03.2006 15:40
Какой метод какого класса может вернуть величину прихода/расходa по номенклатуре ATimTim DAX: Программирование 3 21.02.2005 13:06

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:30.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.