Alkinoy 56 Жалоба Опубликовано: 12 л Чаще всего такие "перлы" возникают от незнания каких либо функций (как, в частности, в начале тему - человек хотел проверить, является ли параметр целым числом?). Обычно отличие прекрасного программиста от хорошего - прекрасный пытается понять, что же двигало человеком и что же именно он хотел сделать, и почему именно так: незнание или все таки какие то подводные камни (ни у кого не было при большом проекте, когда много разных групп работают вместе, что приходится делать обвязку стандартной функции из-за особенностей передаваемых данных?)? Хороший начинает кричать странные звуки и переписывать все по своему. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Mr.Gerrero 0 Жалоба Опубликовано: 12 л ни у кого не было при большом проекте, когда много разных групп работают вместе, что приходится делать обвязку стандартной функции из-за особенностей передаваемых данных? Если архитектура проекта выбранна правильна, разве такое не должно устраняться? Хороший начинает кричать странные звуки и переписывать все по своему А если "прекрасный нагородил велосипедов", и последующие написание это только костыль на костыле ? Городить костыль или переписать(если позволяет эстимейт)? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Twilight_Sun 1913 Жалоба Опубликовано: 12 л Alkinoy, иногда от незнания. Но примеры типа if x = true then в языке где x - булево, if хочет себе булево и "=" это операция сравнения - это явно не от незнания. и много аналогичных примеров бывает. Часть таких примеров давал людям на собеседованиях. Интересные иногда ответы получал. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Vedmid 3 Жалоба Опубликовано: 12 л Чуваки, вот смотрю на вас и восхищяюсь! Я вот, честно-честно, пытался несколько раз начать учиться программированию. Но никак, ну просто никак нехочет мой мозг заработать в этом режиме. Крайний раз, когда возник ажиотаж вокруг часиков с высотником, - но тут все равно, хоть ты тресни! А тут, почитал тему с начала, вроде вас понимаю, а в теме не разбираюсь :lol: Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
dobrobelko 145 Жалоба Опубликовано: 12 л Какой код? Каких компаний? Как правило это ДЕРьМО полное... Всмысле "код компаний". Я дал тебе ссылку на реалько красивый код... Японец писал... Извини, я подписывал NDA и не могу сказать, каких именно. Крупных, очень крупных. И представь себе, там много японцев работает, а ты приводишь аргумент в виде одного человека. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alkinoy 56 Жалоба Опубликовано: 12 л Alkinoy, иногда от незнания. Но примеры типа if x = true then в языке где x - булево, if хочет себе булево и "=" это операция сравнения - это явно не от незнания. и много аналогичных примеров бывает. Часть таких примеров давал людям на собеседованиях. Интересные иногда ответы получал. да, такое от непонимания юольше. чаще всего проблема в том, что оно ведь тоже работает, а раз работает - то и не надо туда думать. Но суть моего сообщения была в том, что не стоит сразу на все кричать - говнокод, стоит все таки подумать - в процентах 40-60 выясняется, что причины так делать таки были... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
соло 75 Жалоба Опубликовано: 12 л Я согласен с Твилли - в шею гнать писателей "красивого" кода, пока не подрастут. Код должен быть а - поняным, б - правильным и/или эффективным. Касательно первого примера в этой теме - он не решает поставленную задачу. там куча багов + эффективность ниже плинтуса, поэтому нет смысла обсуждать причины побудившие писать такой код (даже не смотря на то что он прост и понятен). Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
nblxTa4ek 2 Жалоба Опубликовано: 12 л Но примеры типа if x = true then в языке где x - булево, if хочет себе булево и "=" это операция сравнения - это явно не от незнания. Если все таки чет подобное if(nullptr == bar) .. то это банально стиль написания в С подобных языках для сравнений. Опечатка if(nullptr = bar) вызовет ошибку компиляции, а вот поменяв порядок переменная/константа получится нечто иное. И булевые значения могут сравниватся для большей наглядности, и чтоб под одну гребенку. Ничего общего с перлами и говнокодом не вижу. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alkinoy 56 Жалоба Опубликовано: 12 л Если все таки чет подобное if(nullptr == bar) .. то это банально стиль написания в С подобных языках для сравнений. Опечатка if(nullptr = bar) вызовет ошибку компиляции, а вот поменяв порядок переменная/константа получится нечто иное. И булевые значения могут сравниватся для большей наглядности, и чтоб под одну гребенку. Ничего общего с перлами и говнокодом не вижу. нет, там было написано if(true = true) then... а достаточно было написать if(true) then но работоспособны оба варианта. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Stan 1 Жалоба Опубликовано: 12 л нет, там было написано if(true = true) then... а достаточно было написать if(true) then но работоспособны оба варианта. В 1С версии 7.7 второй вариант не сработает там обязательно надо первый, в старших версиях исправились Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alkinoy 56 Жалоба Опубликовано: 12 л Ну, пусть челвоек не знал о такой функции. Как ее тогда реализуем? Простейший вариант: посимвольная проверка на цифры, а также знак числа и т.д. в зависимости от формата. Но реализация проверки путем замены всех цифр - это, извините, полный финиш. Если бы мне дали задание максимально извращенно реализовать такую проверку, то я бы вряд ли то такого додумался. Подобная реализация не оставляет сомнений в использовании головы исключительно для еды. конкретно данный пример - да я говорил вообще, в целом о явлении "это надо все переписать", которое присутствует у 95% программистов... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
kluGe 1 Жалоба Опубликовано: 12 л Вообще такое впечатление, что грамотных архитекторов найти просто нереально. А что, бывает менеджмент который считает, что софт нужно проектировать Для появления чего-то в нашем капиталистическом мире, нужно, что бы те кто оплачивают разработку были готовы платить за проектирование. Дешевле начинать писать как на душу положит, а когда кодебейз уже вырос и вносить изменения стало слишком сложно то... перепроектирование опять начинает выглядеть слишком дорогим Сейчас большая часть софта все ещё достаточно проста и не требует значительного расширения послы вывода в прод, поэтому даже с плохой архитектурой, задача решается, но соответственно даже на больших проектах архитекторов не приглашают. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
kluGe 1 Жалоба Опубликовано: 12 л Да чтож такое творится-то?! Не самый маленький проект, все лишнее убрано. ... Хм-м... если убрать все лишнее то должно было получиться: bool Func () { return true; } но такую функцию лучше переименовать в bool True() и она должны быть библиотечной, свежевычеслененый true может в любой момент понадобиться. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alkinoy 56 Жалоба Опубликовано: 12 л как вариант - писали мега функцию, начали отлаживать - не работает. Потом плюнули и стали тупо ставить в кэтчах и траях резалт=тру, патаму шо отладить не смогли... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Twilight_Sun 1913 Жалоба Опубликовано: 12 л В 1С версии 7.7 второй вариант не сработает там обязательно надо первый, в старших версиях исправились там нет Истина (оно же true) и типа "булево" в явном виде (нельзя создать переменную такого типа). поэтому 7.7 тут не в тему, т.к. в нем в точности такого вообще написать нельзя. А что, бывает менеджмент который считает, что софт нужно проектировать бывает. Я, например, один из двух архитекторов. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Mr.Gerrero 0 Жалоба Опубликовано: 12 л Трай кэчи, вообще не самый лучший вариант. Я даже склонен считать, что это code smell. А что, бывает менеджмент который считает, что софт нужно проектировать Если рассказать, что потом убьется куча времени на рефакторинг, что тяжко будет суппортить все это, то понимает. Хотя такое было у меня один раз, в остольном "сделайте мне быстро и дешево!!!?!?!?!?!" Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Mr.Gerrero 0 Жалоба Опубликовано: 11 л Если брат летал на околосветовых скоростях какой-то ограниченный отрезок времени, то все сходится. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах