|
![]() |
#1 |
Участник
|
Цитата:
Тогда автор - злой гений, очень злой ![]() |
|
![]() |
#2 |
Участник
|
Я думаю, каждый из нас встречает такой быдолкод.
![]() Не могу не поделиться. X++: void MaterialProcess(afcProdmaterial _Material, int lineNo) { RouteJobType _JType; boolean ppoOkToProcess = true; ; materialProcessError = false; if (_Material.JobType == 'Setup') _JType = str2enum(RouteJobType::Setup,_Material.JobType); else _JType = str2enum(RouteJobType::Process,_Material.JobType); try { ttsbegin; lineNo += 1; _progress.setCount(lineNo); _progress.setText(_material.RefNoID); _JobId = this.GetJobNum(_Material.RefNoID,_JType, _Material.OprNum,RouteOprPriority::Primary, _Material.ItemId); if (_Material.LotNum != '') _Batch = this.CheckBatchId(_Material.LotNum, _Material.ItemId,_Material); if (_material.TranType == 'OFF-FIN' && _material.SerialNum && _material.PQty > 0) { if (!ppoProdMatlTrace::findSerialNum(_material.SerialNum).Ply) { ppoOkToProcess = false; } } if (ppoOkToProcess) { if(this.PostMaterial(_Material)) { _Material.inventDimId = _dimId; _Material.ProcessedFlag = NoYes::Yes; _Material.update(); } else { throw(error("Update cancelled.")); } } ttscommit; } //try catch (Exception::Deadlock) { // ttsabort; retry; // _material.HasError = noYes::Yes; // _material.update(); } catch (Exception::Warning) { ttsabort; // retry; _material.HasError = noYes::Yes; _material.update(); } catch (Exception::Error) { ttsabort; //retry; _material.HasError = noYes::Yes; _material.update(); } }
__________________
// no comments |
|
![]() |
#3 |
Banned
|
Цитата:
Сообщение от dech
![]() Я думаю, каждый из нас встречает такой быдолкод.
![]() Не могу не поделиться. Начиная с элементарной разметки кода и неверного использования нижнего подчеркивания в обоих декларациях (как параметров, так и локальных переменных), заканчивая странным сравнением со строками, +=1 и ненужными if-ами. Зато код работает!!!))) Во первых это может быть кривой костыль для кривого стола - выпрямите все со стола полетит. Во вторых, кто последний трогал - тот и виноват ![]() |
|
![]() |
#4 |
Участник
|
Цитата:
Сообщение от S.Kuskov
![]() Не нужно знать наизусть сигнатуры всех функций, чтобы быть успешным программистом, так же как и не нужно знать значения всех констант чтобы считаться хорошим физиком. Нужно знать о существовании и назначении
Тогда автор - злой гений, очень злой ![]()
__________________
-Ты в гномиков веришь? -Нет. -А они в тебя верят, смотри, не подведи их. |
|
![]() |
#5 |
Banned
|
Цитата:
Представьте, чтобы вы делали не будь у вас интернета, msdn и т.д.?
![]() Представил, мой ответ - не программировал бы так как музыку с youtube слушать бы не мог ![]() |
|
|
За это сообщение автора поблагодарили: Pustik (2). |
![]() |
#6 |
Участник
|
Не хотел писать, но раз уж эта тема нашла столько откликов...
Понятно, что у нас у всех свое представление о правильном коде и его красоте, своя методика создания это самого кода, свой взгляд на оправданность применения copy-paste (а именно он скорей всего тут и использовался). Но я один не понимаю, как можно было это пропустить на первичном тестирование, неужели самому автору не интересно было проверить это в работе, не понимаю... |
|
![]() |
#7 |
Banned
|
Цитата:
![]() Часто код реально тестируется после полугода его написания. Уж что что а с тестированием просто полная беда. Нормальный код, нормальный так как читаем и понятен. А то что если вдруг с багом так легко починить. Последний раз редактировалось ax_mct; 29.11.2013 в 02:27. |
|
![]() |
#8 |
Участник
|
Раньше в России практически нигде не было интернета, лишь единицы, обладающие модемом на скорости 33.6К что-то могли себе позволить. Именно поэтому все MSDN и прочие мануалы шли в комплекте с дистрибутивом. Это сейчас коварный микрософт отходит от старых традиций и увеличивает посещаемость своих страниц.
__________________
// no comments |
|
![]() |
#9 |
Участник
|
Тема вызвала бурное обсуждение и развитие :O)
Для сомневающихся скажу, что это не партнерское решение (их нет в нашем варианте системы, используется стандарт), это код именно MS. Код не работает, его нашли именно по тому, что он давал ошибку, повторение скобочек и '-' в номере телефона. А вот, если их нет в исходной строке, то все хорошо. С уважением, Дмитрий |
|
![]() |
#10 |
Moderator
|
Я честно пытался этот кусок кода найти в своем DAX2012R2CU7 и не смог. Не подскажете точный адрес ? (просто мне самому интересно как там такие комментарии смогли выжить в тексте, например).
|
|
![]() |
#11 |
Участник
|
Цитата:
Есть еще вариант, что это отраслевое решение от MS. Но я по всей кодовой базе 2012 не смог найти. В каком оно слое? |
|
![]() |
#12 |
Участник
|
Это АХ2009. Печать основного документа в Бразилии Danfe. FiscalDocJurn_BR:getRecipientPhone
Очень, рад, если они это не перетащили в 2012... ;O) С уважением, Дмитрий. |
|