[Ответить в тред] Ответить в тред

15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!
30/09/16 - BREAKING NEWS ШОК АБУ ПРОДАЛСЯ МЭЙЛУ (на самом деле нет)



Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 66 | 6 | 13
Назад Вниз Каталог Обновить

Говнокод везде, даже на дороге Иван 18/10/16 Втр 10:38:49  858854  
(466Кб, 585x356)
История о том, что программного обеспечение всё больше проникает в нашу повседневную жизнь. Вместе с пользой и благами, программный код несёт и новые опасности. Теперь с ошибками программах мы имеем дело, не только сидя за компьютером, но и на дороге.
sage 18/10/16 Втр 11:13:58  858862
>>858854 (OP)
>Теперь с ошибками программах
И сидя за партой, как ОП. Зачем это на /pr борде то?
Аноним 18/10/16 Втр 12:21:35  858911
>>858854 (OP)
Если бы ты не был школопитеком, то знал бы, что для любого алгоритма, используемого на оборудовании в промышленности и производстве в т.ч. на транспортных средствах, обязательно требуется предоставление математических доказательств устойчивости алгоритма в любых режимах работы (критерии устойчивости по Ляпунову, Попову и т.п). Никто из ответственных лиц даже не подпишет, не говоря о том что не будет внедрять алгоритм, для которого подобное не предоставлено в составе проектной документации.
Аноним 26/10/16 Срд 19:38:08  864104
>>858911
наглая ложь.

никто никакие доказательства не проводит и не может проводить, потому как они только для совсем примитивной херни, не связанной с реальностью. Никакого доказательства для сложной программы провести невозможно.

Тесла, вон, сделала шахидом своего хозяина, уебав его о незамеченный автопилотом грузовик, и ничего.

Хорошо, если тесты более-менее расширенные проведут. А могут и не провести.
Аноним 26/10/16 Срд 19:55:19  864121
>>864104
>эта проецирующая пидораха
Зато Крым наш, а доллар - грязная бумажка.
Только выиграли.
Аноним 27/10/16 Чтв 12:31:56  864473
>>858911
@
ВСЕРАВНО ПРИХОДЯТ ШТРАФЫ ЗА ТЕНЬ ОТ МАШИНЫ НА ВСТРЕЧКЕ
Аноним 27/10/16 Чтв 15:05:38  864583
Поддвачну. Говнокод повсюду, вот буквально сегодня глянул что пишет разработка. Вижу - ContainsKey по словарую, если ключа нет, подтягивает ключ\значение из базы, добавляет в словарь... а потом опять делает выборку из словаря только что добавленного значения. И если есть - то также делает выборку из словаря, не смотря на то, что только что уже делал ContainsKey. Написал - мол так и так, предложил нормальный вариант через TryGetValue. Говорит, а ты докажи что твой вариант быстрее. Расписал, объяснил - выполняется два поиска по словарю вместо одного, исходики привел. Не, говорит, твой код нечитаемый, а мой вариант читаемый и работает заебок, и вообще метод редко вызывается. А зачем, говорю, ты словарь-то добавил, если метод редко вызывается, запрос к базе всегда, раз метод редко вызывается. Похуй, все равно делать не буду, и вообще откуда ты знаешь зачем я словарь добавил. И че ты вообще доебался до моих божественных исходников. И Че по исходникам нашим рыскаешь. У тебя нет задачи такой и прочее.
Пиздец, сисярп взростил высокомерных хамовитых мартышек, которым хуй что докажешь, просто потому что они знают сисярп. И это блять ведущий разраб, что там джуниры творят я вообще боюсь подумать.
Аноним 27/10/16 Чтв 15:19:46  864596
>>864583
А хули ты по исходникам рыскаешь, крыса? Тем более по исходникам ведущего разраба, щенок. Тот словарь там для дела, нет времени каждому скучающему дебилу объяснять для какого.
Аноним 27/10/16 Чтв 15:32:02  864616
>>864583
Доки говорят, что этот ваш TryGetValue не меняет словарь, если элемента там не было, таким образом, придётся его туда дополнительно записывать. Потому как словарь в данном случае скорее кеш, туда попадают данные, которые запрашивали.
При этом словари работают очень быстро, и часто на высоких языках оптимизация не только не ускорит, а иногда даже замедлит работу. Но даже если и ускорит, то в любом случае ни о чём.
Говнокод, это не тот, который работает на микросекунду дольше, а тот, который прямой, наглядный, без багов и поддерживается лучше.
Как говорится, если дрочишь на наносекунды, пиздуй в C/C__ (только STL, а не объекты). А так надо на код смотреть.
Аноним 27/10/16 Чтв 15:43:56  864626
>>864616
>TryGetValue не меняет словарь
Само собой не меняет. Но позволяет сразу получить значение по ключу если ключ есть в словаре.
>Потому как словарь в данном случае скорее кеш
Спасибо, кэп.
>Говнокод, это не тот, который работает на микросекунду дольше
if(!dict.ContainsKey(a))
dict.Add(a, db.getIdfromDB(a));
b = dict[a];
ну если это не говнокод, а
>прямой, наглядный, без багов и поддерживается лучше.
тады ой.
Аноним 27/10/16 Чтв 15:53:27  864639
>>864626
>if(!dict.ContainsKey(a))
>dict.Add(a, db.getIdfromDB(a));
>b = dict[a];

Норм кеш, всегда так пишу.
Просто ты завистливый неудачник, так-то.
Аноним 27/10/16 Чтв 16:44:09  864663
>>864626
А теперь напиши свой, чтобы с TryGetVal, и чтобы после его выполнения значение из базы сохранялось в словаре, если его там не было (очевидное желание), и чтобы при этом не криво и могло работать быстрее, чем тут.

ps: я тоже так пишу, когда мне нужно кеширование. А когда не нужно, использую аналоги TryGetVal, в ряде случаев самопальные, от языка зависит (си-диезом не пользуюсь).
Аноним 27/10/16 Чтв 17:04:07  864673
>>864663
if(!dict.TrygetValue(a, out b)) {
b = db.getIdfromDB(a);
dict.Add(a, b);
}
Аноним 27/10/16 Чтв 18:01:50  864693
>>864673
И это как бы лучше код?
Во-первых, он нихрена не понятный для того, кто не знает c#, тут какие-то неочевидные операторы "out b", я даже аналогов из других языков не приведу. Я вот не понимаю, к он работает, но я как раз c# не знаю - хрен знает, когда это связывание 'out b' происходит. Или вообще не происходит, а TryGetValue используется не по назначению, по сути как ContainsKey/ А конструкция от ведущего разраба очевидна и наглядна, и одинаково реализуется почти на всех языках.

Конструкцию от ведущего разработчика можно переписать как:
if (!dict.containsKey(a)) {
b = db.getInformDB(a);
dict.add(a, b);
} else {
b = dict[a];
}
Тогда нет лишнего обращения в словать и не используется через жопу TryGetVal, однако так громоздко и обычно нафиг не надо.

короче, ведраб прав. Я бы тоже на его месте послал нахуй. В твоём стиле надо на перле писать, там так модно.
Аноним 27/10/16 Чтв 18:04:11  864695
>>864673
А ведь это говно и правда шустрее.
Хотя оба вы дебилы, это да. Но ты - >>864693 - больше.
Аноним 27/10/16 Чтв 18:11:55  864700
>>864693
>тут какие-то неочевидные операторы "out b"
Даже для меня очевидно, что это значение будет меняться в ходе выполнения функции.
js-мартышка
Аноним 27/10/16 Чтв 18:13:00  864701
>>864583
>>864626
Конкретно в этом случае - похуй, т.к. обращение в память хуйня. А вот если бы было два запроса в базу, то я бы был на твоей стороне.
Аноним 27/10/16 Чтв 18:14:08  864704
>>864702
Если ты не понял, то мне тебя даже не жаль.
Аноним 27/10/16 Чтв 18:14:14  864705
>>864701
>обращение в память хуйня
Быдло, быдло never change.
Аноним 27/10/16 Чтв 18:14:48  864706
>>864704
Зачем тебе жить?
Аноним 27/10/16 Чтв 18:15:22  864707
>>864705
Косноязычие это способ сохранять концентрацию на концепте, а не на том, как выразить эту мысль правильнее грамматически.
Аноним 27/10/16 Чтв 18:15:38  864708
>>864706
Зачем тебе знать?
Аноним 27/10/16 Чтв 18:16:51  864709
>>864702
>>864706
Чет я не понял, какие у тебя претензии к javascript'у? Хейтер молотков, потому что отвертка лучше?
Аноним 27/10/16 Чтв 18:17:33  864710
>>864707
>выразить эту мысль
>мысль
Не льсти себе, быдларий.
>>864708
В научных интересах.
Зоонаблюдаю же.
Аноним 27/10/16 Чтв 18:18:49  864711
>>864710
Ты пока что не сказал ничего по теме, только пытаешься возвыситься в своих собственных глазах, чмоша, говори по теме или сам быдло.
Аноним 27/10/16 Чтв 18:19:08  864712
>>864709
>какие у тебя претензии к javascript
>к javascript
Никаких. Фекалии не виноваты в некоторых особенностях поведения копрофилов.
Аноним 27/10/16 Чтв 18:19:42  864713
>>864711
>чмоша
>сам быдло
Все ясно.
Аноним 27/10/16 Чтв 18:20:34  864714
>>864710
>Не льсти себе, быдларий.
Мысль следующая: "В случае, когда вычислительные ресурсы стоят дешевле труда разработчика, обращать внимание стоит на читаемость кода". Мысль не нова, конечно.
Аноним 27/10/16 Чтв 18:20:55  864715
>>864713
Уебывай в б.
Аноним 27/10/16 Чтв 18:22:10  864716
>>864712
Что конкретно тебе не нравится в javascript, алё. Отличный объектный язык, может в функциональщину, может в паттерн-матчинг, асинхронный, свободный, можно апгрейдить до typescript, если есть необходимость.
Аноним 27/10/16 Чтв 18:23:32  864718
>>864714
>В случае, когда вычислительные ресурсы стоят дешевле
Таких убогих масштабов и "задач" стоит избегать - как должности кассира в макдаке, например.
Хотя, конечно, кому-то надо и.
На то быдло и есть - >>864715, например.
Аноним 27/10/16 Чтв 18:25:22  864720
>>864716
>конкретно тебе не нравится в javascript
Комьюнити, конечно - сплошь неполноценные эмоционально и умственно выродки, вроде тебя.
А комьюнити определяет язык, рано или поздно.
Аноним 27/10/16 Чтв 18:26:57  864721
>>864718
Ты дурак что ли?
Есть правило - снижать количество запросов к базе данных, т.к. это очень дорого.
Откуда тебе знать, сколько раз будет вызываться эта функция?
Ты не думаешь, но думаешь, что думаешь.
Аноним 27/10/16 Чтв 18:27:23  864722
>>864720
У тебя комплекс неполноценности что ли? Иди обсуждать личности на другую борду, здесь /pr/.
Аноним 27/10/16 Чтв 18:29:02  864723
>>864721
Не оправдывайся, быдленыш.
>обращение в память хуйня.
- это все, что следует знать о тебе.
/ты
Аноним 27/10/16 Чтв 18:30:08  864725
>>864722
>обсуждать личности
>личности
Не льсти себе, существо.
Какие же вы личности - жсмартышки, не более.
Аноним 27/10/16 Чтв 18:31:12  864726
>>864723
У тебя точно что-то не в порядке, выпей валерьянки, анон, а то повредишься.
Аноним 27/10/16 Чтв 18:32:16  864729
>>864726
>эти оправдания
Хотя продолжай, разрешаю - ты забавен :3
Аноним 27/10/16 Чтв 18:33:20  864731
>>864729
Я тебя зарепортил за оффтоп.
Аноним 27/10/16 Чтв 18:36:07  864735
>>864693
>но я как раз c# не знаю
Я вот тоже практически не знаю, но того что знаю, вполне хватает, чтобы видеть говнокод.
>Тогда нет лишнего обращения в словать
Есть, блять, есть. dict.containsKey(a) - поиск по словарю, и dict[a] - тоже поиск по словарю. Это классика, блять, это знать нужно. Вот только сисярпистомакаки этого не знают, и даже не задумываются, им нахуй похуй. А TryGetVal - такой же метод словаря как и любой другой, и здесь его использование как раз более уместно.
Аноним 27/10/16 Чтв 18:36:31  864736
>>864731
>этот говнотред о говне
>Я тебя зарепортил за оффтоп.
Главное чтобы ты учился хорошо, Васенька :3
Аноним 27/10/16 Чтв 18:37:14  864737
>>864735
Ты формально прав, анон, но конкретно в этом случае стоимость ошибки крайне низка.
Аноним 27/10/16 Чтв 18:37:17  864738
>>864735
Зачем ты разговариваешь с дебилами, ты что - дурачок?
Аноним 27/10/16 Чтв 18:38:38  864740
>>864737
>стоимость ошибки
Определять не кодерку из /зк, твое дело - код хуярить и переделывать согласно указаний. Молча, оптимистично улыбаясь уголками губ.
Аноним 27/10/16 Чтв 18:39:40  864744
>>864740
Как раз кодеру и определять стоимость ошибки, не кодеру ли считать, сколько алгоритм сожрет ресурсов?
Аноним 27/10/16 Чтв 18:42:42  864751
>>864744
>не кодеру ли считать
Нет, конечно - лиду. Все за тебя посчитают и если наговнокодил - переделаешь согласно стандартам. Премию нахуй, естественно.
Аноним 27/10/16 Чтв 18:45:18  864754
>>864751
Что за хуйню ты несешь?
Аноним 27/10/16 Чтв 18:47:12  864756
>>864754
А ты не слишком умный.
Не переживай, это нормально для быдла вроде тебя
Аноним 27/10/16 Чтв 18:48:52  864758
>>864756
Ты думаешь, что на код ревью смотрят на такие мелочи? Скинь-ка свой гитхаб.
Аноним 27/10/16 Чтв 18:50:24  864761
>>864737
Скажем так, мне например не придет в голову идея написать код, в котором два раза подряд будет выполняться поиск по коллекции. Даже если метод редко вызывается, и даже если я буду знать, что коллекция небольшая. Вот хуй знает почему, но сознательно и целенаправленно говнокодить не могу. Либо это незнание языка и\или библиотеки, либо откровенная халтура, которая отражает отношение разраба к своей работе.
Аноним 27/10/16 Чтв 18:53:01  864766
>>864761
Да не, анон, если думать над каждой строкой, то это будет занимать слишком много времени. Для рефакторинга обычно время выделяют по остаточному принципу, надо закрывать задачи, а проебы по алгоритму обычно вскрываются, если возникает ботлнек конкретно в этом месте. И в этом случае точно никогда не будет ботлнека. Ты, конечно, молодец, что обращаешь внимание на такие мелочи, но бизнес-требования указывают на другие приоритеты.
Аноним 27/10/16 Чтв 18:57:16  864769
>>864758
>мелочи
Ясно. Понятно.
>гитхаб
https://github.com/thoughtpolice
Аноним 27/10/16 Чтв 18:58:36  864771
>>864769
А теперь пруфани, что это ты.
Аноним 27/10/16 Чтв 18:59:06  864773
>>864766
>бизнес-требования
>приоритеты
- совершенно не програмистишки дело. Твое дело - пахать.
Аноним 27/10/16 Чтв 18:59:47  864774
index.png (7Кб, 224x225)
>>864771
>пруфани
+15
Аноним 27/10/16 Чтв 19:02:18  864777
images[3] (15Кб, 275x183)
>>864773
>>864769
>>864756
>>864751
>>864740
>>864738
>>864725
>>864723
>>864720
>>864718
>>864713
>>864712
>>864710
>>864706
>>864705
>>864700
>>864639
>>864121
>>858862
Useless biotrash detected.
Аноним 27/10/16 Чтв 19:17:50  864797
>>864766
>если возникает ботлнек конкретно в этом месте.
"Если" - это уже будет поздно. За ботленк на продакшене - заказчик слупит нехилый штраф, а еще потратишь немало времени и опять же денех на поиск причины ботленка, на его исправление, ретест, сборку билда, отгрузку заказчику, развертывание, etc. Уж лучше я минутку-другую потрачу на поиск вменяемого решения, а уж для реализацию подобных мелочей вообще задумываться не надо, все и так на автомате должно быть.
Аноним 27/10/16 Чтв 23:14:58  864931
>>864735
Во многих современные языках даже локальные переменные в принципе просто записи в словарях.

Использовать функции, предназначенные для других целей - отстой и дурной стиль. А в зависимости от языка и интерпретатора, система код может даже оптимизировать, и никаких двух обращений там не будет. Причём явное обращения она скорее прооптимизирует, чем хаки с tryGetVal.

Сами словари работают очень быстро обычно, и после первого обращения все элементы, необходимые для доступа, всё равно будут в кеше. В общем ничего на этом не выиграешь.

А если хочется дрочить на наносекунды, надо идти в C/C++. На языках с байт-машинами другая несколько логика действует, в том числе по оптимизации.

Я уж не говорю о том, что логика кода кривая в итоге получается. Нахуй.
Аноним 27/10/16 Чтв 23:17:31  864932
>>864761
Это просто абсолютное непонимание того, как работают современные языки и компиляторы, как работают процессоры и в чём вообще смысл программирования.

Так можно и от ООП отказаться, ибо охерхед на вызов виртуальных функций большой.
Аноним 27/10/16 Чтв 23:27:25  864933
>>864716
Слабо реализовать этот пример на js/node? Кеширование запроса из БД? С учётом того, что запрос из БД асинхронный и даст колбак?
Аноним 28/10/16 Птн 00:22:26  864964
>>864726
Так тут будет обращение в закешированную память. То есть ни о чём.
Аноним 28/10/16 Птн 11:18:13  865051
hqdefault[1].jpg (10Кб, 480x360)
>>864931
>никаких двух обращений там не будет
>явное обращения она скорее прооптимизирует
>хаки с tryGetVal
>после первого обращения все элементы, необходимые для доступа, всё равно будут в кеше.
>>864964
>обращение в закешированную память.
>>864932
>работают современные языки
Ох, блять, какой пиздец.
Аноним 28/10/16 Птн 11:46:04  865061
>>865051
Тебя ебет?
Это говнотред, сру где хочу, мамка не закон.
Аноним 29/10/16 Суб 14:33:34  865713
>>864932
>как работают современные языки и компиляторы
а как работают современные языки, если не подразумевать под ними компилятор\интерпритатор?
Аноним 30/10/16 Вск 22:47:25  866595
>>858911
> что для любого алгоритма, используемого на оборудовании в промышленности и производстве в т.ч. на транспортных средствах
Хуита. Реально дикая хуита верующего человека
Аноним 31/10/16 Пнд 01:07:06  866677
14702361085530.jpg (319Кб, 1920x1200)
Аноним 31/10/16 Пнд 17:02:52  867170
>>864626
Абсолютно нормальный, корректный и понятный код. Если ты тратишь столько времени на какие-то иллюзорные хуйни, то я бы на месте того сеньора серьезно задумался о пользе, которую ты не приносишь проекту.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 66 | 6 | 13
Назад Вверх Каталог Обновить

Топ тредов
Избранное