AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.07.2017, 16:49   #261  
VORP is offline
VORP
Участник
 
97 / 79 (3) ++++
Регистрация: 26.05.2006
Да нет, не копи паст это. Просто человек пишет компилятор, фреймворк для екстеншенов для енумов. Он не знает и/или скорее всего не хочет знать ничего про цены и прочие MCR - этим кодом владеет команда MCR(условно говоря). Сейчас он поменял что-то в компиляторе и у него в некоторых местах ошибки компилятора. Править чужой код он не может, но надо сделать чтоб компилилось. Вот он и заменил цифру на енум, хоть оно и бестолково. По хорошему должен был кинуть багу на MCR что код походу неправильный. Но опять же, не факт что команда MCR будет править код, ведь клиенты баги не репортят, а там мало ли что кому кажется.
За это сообщение автора поблагодарили: Vadik (1), fed (1), macklakov (1), trud (1), Ace of Database (1).
Старый 18.07.2017, 17:31   #262  
ax_mct is offline
ax_mct
Участник
Аватар для ax_mct
 
1,570 / 505 (20) +++++++
Регистрация: 10.10.2005
Адрес: PHP
Цитата:
Сообщение от dech Посмотреть сообщение
Или через тернарный оператор:
X++:
mcrCatalogAreaAnalysisTmp.CogsPercent = sales ? cost / sales : 0;
Это уже не gentle. Фиксить лучше в том же стиле, а если смещения строк нет - вообще идеально.
Заменить переменную - это одно, тернарным это уже переписывать код, так можно заменить один глупый баг другим, что часто и происходит при переписке кода.
За это сообщение автора поблагодарили: dech (1).
Старый 18.07.2017, 17:44   #263  
ax_mct is offline
ax_mct
Участник
Аватар для ax_mct
 
1,570 / 505 (20) +++++++
Регистрация: 10.10.2005
Адрес: PHP
Цитата:
Сообщение от VORP Посмотреть сообщение
Да нет, не копи паст это. Просто человек пишет компилятор, фреймворк для екстеншенов для енумов. Он не знает и/или скорее всего не хочет знать ничего про цены и прочие MCR - этим кодом владеет команда MCR(условно говоря). Сейчас он поменял что-то в компиляторе и у него в некоторых местах ошибки компилятора. Править чужой код он не может, но надо сделать чтоб компилилось. Вот он и заменил цифру на енум, хоть оно и бестолково. По хорошему должен был кинуть багу на MCR что код походу неправильный. Но опять же, не факт что команда MCR будет править код, ведь клиенты баги не репортят, а там мало ли что кому кажется.
Скорее всего так и есть. Была ошибка компилятора - её и пофиксили.
Но мне знаете ли страшно жить с такими системными программистами.
Там ведь не вопрос бизнес-логики, а деление на ноль. Поверяем одно значение, делим на другое.
Проверяем на ноль второй результат вызова функции, а делим с первым результатом вызова этой же функции. Для нормального программиста С/С++ мимо такого пройти просто невозможно. Это просто режет глаз.
Старый 18.07.2017, 19:35   #264  
dech is offline
dech
Участник
Аватар для dech
 
416 / 173 (6) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Цитата:
Сообщение от VORP Посмотреть сообщение
Да нет, не копи паст это. Просто человек пишет компилятор, фреймворк для екстеншенов для енумов. Он не знает и/или скорее всего не хочет знать ничего про цены и прочие MCR - этим кодом владеет команда MCR(условно говоря). Сейчас он поменял что-то в компиляторе и у него в некоторых местах ошибки компилятора. Править чужой код он не может, но надо сделать чтоб компилилось. Вот он и заменил цифру на енум, хоть оно и бестолково. По хорошему должен был кинуть багу на MCR что код походу неправильный. Но опять же, не факт что команда MCR будет править код, ведь клиенты баги не репортят, а там мало ли что кому кажется.
Да... Чем крупнее компания, тем сложнее поддерживать стабильный код. Здесь ведь и до этого компилилось, это же рантайм еррор. Думаю, где-то просто тесты не сработали. И потом видимо выдали на доработку уже не тому, кто этим кодом занимался.
В большой компании должно быть разграничение кода между специалистами, чтобы отвечать за свой участок и знать его как свои 4 пальца. :-)
__________________
// no comments
Старый 19.07.2017, 02:11   #265  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
Сотрудники Microsoft Dynamics
 
1,938 / 832 (31) +++++++
Регистрация: 03.04.2002
Адрес: Australia
Цитата:
Сообщение от VORP Посмотреть сообщение
Править чужой код он не может, но надо сделать чтоб компилилось. Вот он и заменил цифру на енум, хоть оно и бестолково. По хорошему должен был кинуть багу на MCR что код походу неправильный. Но опять же, не факт что команда MCR будет править код, ведь клиенты баги не репортят, а там мало ли что кому кажется.
В принципе, выглядит очень правдоподобно. Только похоже что писали они не компилятор как таковой, а best practice check. Ведь единственный результат изменения в том, что теперь в коде нет константы "0". Можно даже предположить что это робот сделал.
__________________
Isn't it nice when things just work?
Старый 19.07.2017, 05:06   #266  
trud is offline
trud
Участник
 
407 / 279 (10) ++++++
Регистрация: 07.06.2003
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Да, с инфологом действительно все очень печально
Зарегистрировал "идею", кому не лень проголосуйте
https://ideas.dynamics.com/ideas/dyn...ions/ID0002243
также чтобы добавили поддержку файлов в RunBase
https://ideas.dynamics.com/ideas/dyn...ions/ID0002242

Цитата:
Сообщение от VORP Посмотреть сообщение
Но опять же, не факт что команда MCR будет править код, ведь клиенты баги не репортят, а там мало ли что кому кажется.
Кстати удивительно точно подмечено, собственно на мой взгляд все текущие проблемы AX7 вызваны подобным подходом - изначально здравые идеи верхнего уровня(практически все "новинки" AX7 очень хороши) разбиваются о совершенно "формальную" реализацию с пропуском многих мелких деталей, что делает их во многом трудно используемым или вообще непригодным.
Интересно есть ли какие-нибудь методологии позволяющие как-то бороться с таким(типа если рабочий на конвейере увидел брак, то он должен остановить конвейер, а не просто забить, так как это не его дело).
Ведь не работают же так Apple и Google
За это сообщение автора поблагодарили: mazzy (2).
Старый 19.07.2017, 16:00   #267  
kashperuk is offline
kashperuk
Senior SDE, Dynamics AX
Аватар для kashperuk
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
 
4,282 / 1940 (73) ++++++++
Регистрация: 30.05.2004
Адрес: Копенгаген, Дания
Цитата:
Сообщение от trud Посмотреть сообщение
Ведь не работают же так Apple и Google
Еще как
Старый 19.07.2017, 16:04   #268  
kashperuk is offline
kashperuk
Senior SDE, Dynamics AX
Аватар для kashperuk
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
 
4,282 / 1940 (73) ++++++++
Регистрация: 30.05.2004
Адрес: Копенгаген, Дания
Еще нашел такое сегодня

WHSWorkExecuteDisplayInquiryItem.buildItemInquiry():

X++:
...
    if (availQty == 0 && pickedQty == 0 && physInventQty == 0)
    {
        // clear all totals
        availQty        = 0;
        pickedQty       = 0;
        physInventQty   = 0;
    }
...
Чтоб наверняка
За это сообщение автора поблагодарили: mazzy (2).
Теги
axapta, cil, rasset, баг

 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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