|
![]() |
#1 |
Участник
|
Вопрос, значит, стоит в том, насколько глубоко программисты знают все существующие функции(ну или BP, кому как угодно). Напомнило, как учитель физики в академии рассказал пример, как один профессор известного университета набирал к себе консультантов. После долгой фильтрации кандидаты были найдены, и всем им сообщалось, что на последнем тестировании(собеседовании) будет задан один не сложный вопрос. Кто будет выше всех окажется на рабочем месте. Естественно, все готовились к какому-то подвоху, изучали дополнительные книги, работы профессора, некоторые, даже его биографию. А Вопрос был такой : Сколько вы знаете констант? Естественно, тот кандидат, который назвал их наибольшее количество, с наибольшей правильной точностью, победил. Объяснял он это тем : Я не хочу тратить мое время на время, пока мой консультант будет ползать за этой информацией в справочник.
__________________
-Ты в гномиков веришь? -Нет. -А они в тебя верят, смотри, не подведи их. Последний раз редактировалось Pustik; 27.11.2013 в 18:39. |
|
![]() |
#2 |
Banned
|
Цитата:
![]() До сих пор вспоминаю как в одной шотландской компании с секундомером консультанты меня тестировали/интервьюировали с выводом на большой экран моего монитора. Претензия была в том почему я по памяти весь код не печатаю а зачем куда то лезу ищу готовый код. Типа не знаю как кодить. А я даже и не знал что неправильно делаю, хорошо что знающие люди подсказали ![]() Ну неправильно AX как печатную машинку использовать. Просто в корне неверно. Тише едешь - дольше думаешь. А думать во все стороны одновременно крайне полезно в AX. Оттого часто и код не самый лучший так как мало кто не из русских программистов страдает перфекционизмом и главное просто код побыстрее заколбасить и забыть Причем 90% даже не поймет что не так в коде если код работает. Раз работает то и все, зачем париться и занудствовать - красивое письмо менеджеру гораздо важнее кода который никто кроме твоего брата программиста не увидит, а тот просто покривится, поморщится но ничего не скажет потому как безполезно. "Классный программист" тот кто лучше "программирует" то есть тот от кого меньше слышно жалоб и проблем и который делает много и во время. Качество кода и дизайн решений не играет роли. Некому и некогда оценивать. |
|
|
За это сообщение автора поблагодарили: ta_and (1). |
![]() |
#3 |
Участник
|
Цитата:
Тогда автор - злой гений, очень злой ![]() |
|
![]() |
#4 |
Участник
|
Я думаю, каждый из нас встречает такой быдолкод.
![]() Не могу не поделиться. 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 |
|
![]() |
#5 |
Banned
|
Цитата:
Сообщение от dech
![]() Я думаю, каждый из нас встречает такой быдолкод.
![]() Не могу не поделиться. Начиная с элементарной разметки кода и неверного использования нижнего подчеркивания в обоих декларациях (как параметров, так и локальных переменных), заканчивая странным сравнением со строками, +=1 и ненужными if-ами. Зато код работает!!!))) Во первых это может быть кривой костыль для кривого стола - выпрямите все со стола полетит. Во вторых, кто последний трогал - тот и виноват ![]() |
|
![]() |
#6 |
Участник
|
Цитата:
Сообщение от S.Kuskov
![]() Не нужно знать наизусть сигнатуры всех функций, чтобы быть успешным программистом, так же как и не нужно знать значения всех констант чтобы считаться хорошим физиком. Нужно знать о существовании и назначении
Тогда автор - злой гений, очень злой ![]()
__________________
-Ты в гномиков веришь? -Нет. -А они в тебя верят, смотри, не подведи их. |
|
![]() |
#7 |
Banned
|
Цитата:
Представьте, чтобы вы делали не будь у вас интернета, msdn и т.д.?
![]() Представил, мой ответ - не программировал бы так как музыку с youtube слушать бы не мог ![]() |
|
|
За это сообщение автора поблагодарили: Pustik (2). |
![]() |
#8 |
Участник
|
Не хотел писать, но раз уж эта тема нашла столько откликов...
Понятно, что у нас у всех свое представление о правильном коде и его красоте, своя методика создания это самого кода, свой взгляд на оправданность применения copy-paste (а именно он скорей всего тут и использовался). Но я один не понимаю, как можно было это пропустить на первичном тестирование, неужели самому автору не интересно было проверить это в работе, не понимаю... |
|
![]() |
#9 |
Banned
|
Цитата:
![]() Часто код реально тестируется после полугода его написания. Уж что что а с тестированием просто полная беда. Нормальный код, нормальный так как читаем и понятен. А то что если вдруг с багом так легко починить. Последний раз редактировалось ax_mct; 29.11.2013 в 02:27. |
|
![]() |
#10 |
Участник
|
Раньше в России практически нигде не было интернета, лишь единицы, обладающие модемом на скорости 33.6К что-то могли себе позволить. Именно поэтому все MSDN и прочие мануалы шли в комплекте с дистрибутивом. Это сейчас коварный микрософт отходит от старых традиций и увеличивает посещаемость своих страниц.
__________________
// no comments |
|
![]() |
#11 |
Участник
|
Тема вызвала бурное обсуждение и развитие :O)
Для сомневающихся скажу, что это не партнерское решение (их нет в нашем варианте системы, используется стандарт), это код именно MS. Код не работает, его нашли именно по тому, что он давал ошибку, повторение скобочек и '-' в номере телефона. А вот, если их нет в исходной строке, то все хорошо. С уважением, Дмитрий |
|
![]() |
#12 |
Moderator
|
Я честно пытался этот кусок кода найти в своем DAX2012R2CU7 и не смог. Не подскажете точный адрес ? (просто мне самому интересно как там такие комментарии смогли выжить в тексте, например).
|
|
![]() |
#13 |
Участник
|
Цитата:
Есть еще вариант, что это отраслевое решение от MS. Но я по всей кодовой базе 2012 не смог найти. В каком оно слое? |
|