Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Работа Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 9 10 11 12 13 [14] 15 16 17 18   вперед  Ctrl
 Re: Антипаттерны на работе.  [new]
alex55555
Member

Откуда:
Сообщений: 1969
PinkCat
задолго до твоих лекарей, никаких иллюзий не имелось

Ладно-ладно, успокойся, все давно знают, что ты у нас самый умный.
31 янв 19, 14:26    [21798814]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
mnbvcx
Member

Откуда:
Сообщений: 132
Я стараюсь о людях думать по дефолту хорошо.
Читая код, рассчитываю на то, что даже строка
select distinct customerid from customer group by customerid  

имела когда-то обоснование.

Но писать в скалярной функции вызов хранимой процедуры я категорически не одобряю.
Что бы не говорили мемберы Гавриленко Сергей Алексеевич и кит северных морей.
31 янв 19, 17:37    [21799032]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
cossack5
Member

Откуда:
Сообщений: 463
mnbvcx
Но писать в скалярной функции вызов хранимой процедуры я категорически не одобряю

В SQL Server так делать нельзя. Хотя были случаи, когда очень хотелось.
31 янв 19, 22:29    [21799199]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
mirudom
Member

Откуда:
Сообщений: 1003
mirudom
Состав кубиков в голове не позволяет осилить программу обучения.
Тут пинай или не пинай - выхлопа не будет.
Что дано Свыше - то и есть.

alex55555
Состав кубиков дополняется простым добавлением отсутствующих знаний. Но да, здесь пинок нужен уже учителям, а не обучаемому, но суть-то остаётся прежней.

В целом всё сводится к мотивации. Если она есть - всё взлетит
Уважаемый alex55555,
признайтесь, Вы - двоешником были или сейчас добряк-препод ?
2 фев 19, 21:37    [21800557]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
кит северных морей
Member

Откуда: Красноярск
Сообщений: 589
mnbvcx
Я стараюсь о людях думать по дефолту хорошо.
Читая код, рассчитываю на то, что даже строка
select distinct customerid from customer group by customerid  

имела когда-то обоснование.

Но писать в скалярной функции вызов хранимой процедуры я категорически не одобряю.
Что бы не говорили мемберы Гавриленко Сергей Алексеевич и кит северных морей.

кит северных морей указал вам на один вполне конкретный "антипаттерн", вернее, на то, что он совершенно не обязательно "анти-", а вы его теперь везде приплетаете.
3 фев 19, 03:27    [21800663]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
alex55555
Member

Откуда:
Сообщений: 1969
mirudom
признайтесь, Вы - двоешником были или сейчас добряк-препод ?

Признаюсь - двоешником не был, и сейчас не препод. Хотя иногда может быть и добряк :)
3 фев 19, 16:59    [21800824]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
mnbvcx
Member

Откуда:
Сообщений: 132
кит северных морей
кит северных морей указал вам на один вполне конкретный "антипаттерн", вернее, на то, что он совершенно не обязательно "анти-", а вы его теперь везде приплетаете.

Возможно, мембер кит северных морей не считает "антипаттерном" хранение денежных данных в поле типа float.
Но на мой взгляд это не ок.
5 фев 19, 22:54    [21802239]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 56211
Блог
mnbvcx
Возможно, мембер кит северных морей не считает "антипаттерном" хранение денежных данных в поле типа float. Но на мой взгляд это не ок.

Ну, это можно считать помаркой, но устраивать скандалы по этому поводу я бы не стал. Во всяком случае, смоделировать сколько-нибудь реальный пример, когда это приведёт к неприятностям, не так-то просто.

Лично меня куда больше бесят айдишники типа float.
5 фев 19, 23:40    [21802256]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
mnbvcx
Member

Откуда:
Сообщений: 132
softwarer
mnbvcx
Возможно, мембер кит северных морей не считает "антипаттерном" хранение денежных данных в поле типа float. Но на мой взгляд это не ок.

Ну, это можно считать помаркой, но устраивать скандалы по этому поводу я бы не стал. Во всяком случае, смоделировать сколько-нибудь реальный пример, когда это приведёт к неприятностям, не так-то просто.
...

В интернетах пишут, что
1.
кто-то в интернете
Проявиться ошибка точности может при сравнении чисел, которые вроде бы должны быть равны между собой, или сравнении остатка с нулем.

Я с такой фигней сталкивался, емнип.
2.
какой-то чел на ютубе
я знавал людей, которых посадили в тюрьму за то, что они использовали тип float в БД для хранения денег

ЗЫ Я правильно понимаю, что ты не видишь проблемы, когда произведение money на int кастится в decimal (20,6), а потом инсертится в поле типа money?
6 фев 19, 21:27    [21803098]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
Кот Матроскин
Member

Откуда: Москва
Сообщений: 8833
mnbvcx
softwarer
пропущено...

Ну, это можно считать помаркой, но устраивать скандалы по этому поводу я бы не стал. Во всяком случае, смоделировать сколько-нибудь реальный пример, когда это приведёт к неприятностям, не так-то просто.
...

В интернетах пишут, что
1.
кто-то в интернете
Проявиться ошибка точности может при сравнении чисел, которые вроде бы должны быть равны между собой, или сравнении остатка с нулем.


При чем тут, интересно, хранение денег во float?
Да, сравнение на равенство чисел с плавающей точкой проводится не так, как сравнение чисел с фиксированной, и если используются числа с плавающей точкой, с ними надо правильно работать. "Использовать тип данных, не умея с ним работать" - это антипаттерн, да :)
P.S. Ни в одной из моих систем деньги никогда не хранились во float.
7 фев 19, 11:52    [21803369]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 56211
Блог
Кот Матроскин
Да, сравнение на равенство чисел с плавающей точкой проводится не так, как сравнение чисел с фиксированной

Вообще, если подумать, этот вопрос было бы неплохо решить на уровне синтаксиса языка. Например, при попытке сравнения float на равенство выдавать синтаксическую ошибку, а вместо этого сделать операцию "сравнение с указанной точностью".
7 фев 19, 12:01    [21803373]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
Alexey Tomin
Member

Откуда: Самара
Сообщений: 1665
softwarer
Кот Матроскин
Да, сравнение на равенство чисел с плавающей точкой проводится не так, как сравнение чисел с фиксированной

Вообще, если подумать, этот вопрос было бы неплохо решить на уровне синтаксиса языка. Например, при попытке сравнения float на равенство выдавать синтаксическую ошибку, а вместо этого сделать операцию "сравнение с указанной точностью".


Да. Но в любом языке есть ошибки его конструирования.
Нужны подпорки в виде всяких инструментов поиска проблем.
7 фев 19, 14:21    [21803519]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
alex55555
Member

Откуда:
Сообщений: 1969
softwarer
Например, при попытке сравнения float на равенство выдавать синтаксическую ошибку, а вместо этого сделать операцию "сравнение с указанной точностью".

Float используется не только для денег. Поэтому в синтаксис напрямую такое ограничение нельзя включать. Но если в наличии есть специально заточенный на правильное округление тип, а он не используется (используют float), то от такой рукожопости только могила исправит. Хотя если типа нет, можно как-то указывать, что float для денег (для правильных округлений), но в какой приличной БД нет numeric(xxx,yy)?

А с другой стороны - был бы вопрос реально важен (а не в исключительно редких случаях), давно бы всех работающих с базой на этот момент в тестах бы проверяли. Но не проверяют. О чём это говорит?
7 фев 19, 15:17    [21803594]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 56211
Блог
alex55555
Float используется не только для денег. Поэтому в синтаксис напрямую такое ограничение нельзя включать.

Попробуйте сначала думать, а потом говорить.
7 фев 19, 15:24    [21803602]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
МодальноеОкно
Member

Откуда:
Сообщений: 1390
alex55555
А с другой стороны - был бы вопрос реально важен (а не в исключительно редких случаях)


так ли он редок?

0.1 + 0.2; //0.30000000000000004;
0.1 + 0.7; //0.7999999999999999;

и знал/помнил ли "вася" об этом когда ваял очередной js калькулятор по расчету чего-нибудь на странице магазина
7 фев 19, 15:59    [21803636]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
МодальноеОкно
Member

Откуда:
Сообщений: 1390
вспомнилось...

[img=https://cdn-images-1.medium.com/max/959/1*ScZDzZTRQJrmEph6CHVCZA.jpeg]
7 фев 19, 16:00    [21803638]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
alex55555
Member

Откуда:
Сообщений: 1969
softwarer
alex55555
Float используется не только для денег. Поэтому в синтаксис напрямую такое ограничение нельзя включать.

Попробуйте сначала думать, а потом говорить.

Что не так?
8 фев 19, 13:33    [21804310]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
alex55555
Member

Откуда:
Сообщений: 1969
МодальноеОкно
alex55555
А с другой стороны - был бы вопрос реально важен (а не в исключительно редких случаях)


так ли он редок?

0.1 + 0.2; //0.30000000000000004;
0.1 + 0.7; //0.7999999999999999;

и знал/помнил ли "вася" об этом когда ваял очередной js калькулятор по расчету чего-нибудь на странице магазина

И как же данный пример доказывает важность в неисключительных случаях?
8 фев 19, 13:34    [21804313]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 56211
Блог
alex55555
Что не так?

Сравнение float на равенство не имеет никакого отношения к деньгам; это просто ошибочная и непредсказуемо глючная операция. Если подумать, расклад совершенно идиотский: в языки пихают операцию float == float, потом в книгах пишут "не пользуйтесь ей никогда", а потом в новые языки снова её пихают и снова пишут. В таком разрезе как бы очевидно, что надо просто лучше сдизайнить язык.
8 фев 19, 14:15    [21804370]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
alex55555
Member

Откуда:
Сообщений: 1969
softwarer
Сравнение float на равенство не имеет никакого отношения к деньгам; это просто ошибочная и непредсказуемо глючная операция. Если подумать, расклад совершенно идиотский: в языки пихают операцию float == float, потом в книгах пишут "не пользуйтесь ей никогда", а потом в новые языки снова её пихают и снова пишут. В таком разрезе как бы очевидно, что надо просто лучше сдизайнить язык.

float == float работает для одинаковых float. Но в тех же отчётах в таком вот виде (float == float) практически никто не использует. Там суммы собирают. Или на больше/меньше проверяют. А что бы сумма сходилась до копейки - с этим специально возятся и при таких упражнениях всегда замечают расхождение при использовании float. Когда расхождение замечено на этапе разработки - оно никому не интересно. Но обычно всё же используют не float, а потому специфический для него вид расхождения вообще не всплывает. Хотя в языках программирования - да, там может всплыть. Но отчёты обычно на SQL ваяют.

Потом в БД операция сравнения выполняется для кучи видов, включая сравнение строк с числами с автоматическим приведением одного к другому. На этом фоне выявлять в выражении столбцы с float, конечно, можно, но вот смысл этого выражения может оказаться совсем не тем, при котором вылазит расхождение в последнем знаке. Поэтому сама задача вставки в язык подобных ограничений нетривиальна и если её решать не особо задумываясь, то можно сделать сильно хуже - все будут плеваться на эту мешающую фичу.

Хотя если вы именно об универсальных языках типа сей, то в тех же сях вообще много чего сильно небезопасного, и на этом фоне float == float совсем не заметен. Вот в Java ещё может быть имеет смысл проверять при компиляции типы сравниваемых выражений, участвующих в операции выявления равенства (==). Но ругаться не в виде ошибки, а в виде варнинга. Тогда да, может помочь.
9 фев 19, 18:50    [21805351]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
mirudom
Member

Откуда:
Сообщений: 1003
alex55555
Состав кубиков дополняется простым добавлением отсутствующих знаний. Но да, здесь пинок нужен уже учителям, а не обучаемому, но суть-то остаётся прежней.
В целом всё сводится к мотивации. Если она есть - всё взлетит.
Уважаемый alex55555,
прошу прощение за не очень корректное сравнение, но Вы аргументацию в техничекой дискуссии посвященной проблеме "заваленных задач-проектов" улавливаете ?
Все очень просто, что бы победить - достаточно "забанить аппонента" по любой причине.

кубики, есть очень интересная книга, Дмитрий Ушаков, Психология интеллекта и одаренности.
Не голословно, а с описанием опытов и тестов проведенных в мире, дядька доказывает, что есть кубики которые влияют на
поведенческие особенности человека.

Недавно добрые люди дали прочитать книгу, которая позволяет взглянуть на проблему кубиков с другой стороны.
Автор Сергей Савельев, исследует проблемы морфологии мозга человека, и соответственно выпустил несколько книг по тематике.

Так вот, Савельев доказывает, что человечество вступило в фазу жизни, в которой объем мозга человека уменьшается, соответственно в уменьшенном объеме
остается место только для того, что помогало выживать поколениям. Это про кубики.

Разработка ПО - область деятельности, ну созидательная, а не разрушительная, и во многом, еще и плохо формализованная.

Уважаемый alex55555, попробуйте мотивировать на производительный труд обезьяну, которая считает себя человеком.
10 фев 19, 11:50    [21805589]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
alex55555
Member

Откуда:
Сообщений: 1969
mirudom
Все очень просто, что бы победить - достаточно "забанить аппонента" по любой причине.

Это кратко-средне-срочная стратегия. Долгосрочно же побеждают именно мозгами.
mirudom
дядька доказывает, что есть кубики которые влияют на
поведенческие особенности человека.

Гориллу Ко-ко научили "говорить" при помощи предметов, которые она показывала, когда ей нужно было что-то "сказать". Надеюсь вы не будете доказывать, что у неё кубики идентичны человеческим? Но тогда получается, что кубики-то как раз и не очень важны.
mirudom
Савельев доказывает, что человечество вступило в фазу жизни, в которой объем мозга человека уменьшается, соответственно в уменьшенном объеме
остается место только для того, что помогало выживать поколениям.

Даже с уменьшенным Савельевым мозгом любой индивид даст 100 очков вперёд горилле Ко-ко в состязании на умение говорить.
mirudom
Разработка ПО - область деятельности, ну созидательная, а не разрушительная, и во многом, еще и плохо формализованная.

Отсутствие формализации означает лишь недостаток усилий в этом направлении. Хотя некоторые могут заявить про, так сказать, "исследования", но я им отвечу - усилия умножаются за счёт качества организации, а не за счёт привлечения толпы бабуинов, рассуждающих в неких papers о каких-то исследованиях.
mirudom
попробуйте мотивировать на производительный труд обезьяну, которая считает себя человеком.

Даже гориллу Ко-ко сумели мотивировать. А уж более человекообразные виды - и подавно.

Но кстати, лошадь легко мотивировать на производительный труд. И вы даже знаете как.
10 фев 19, 16:36    [21805721]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
mightydivision
Member

Откуда:
Сообщений: 1443
Про формализм.
http://sijinjoseph.com/programmer-competency-matrix/
10 фев 19, 21:34    [21805839]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
МодальноеОкно
Member

Откуда:
Сообщений: 1390
alex55555
МодальноеОкно
пропущено...


так ли он редок?

0.1 + 0.2; //0.30000000000000004;
0.1 + 0.7; //0.7999999999999999;

и знал/помнил ли "вася" об этом когда ваял очередной js калькулятор по расчету чего-нибудь на странице магазина

И как же данный пример доказывает важность в неисключительных случаях?


напрягите воображение. представьте что 0.1 + 0.7 = 0.7999999999999999 - это доля. например от займа или из расчета себестоимости или что-то более вам близкое
11 фев 19, 11:57    [21806216]     Ответить | Цитировать Сообщить модератору
 Re: Антипаттерны на работе.  [new]
alex55555
Member

Откуда:
Сообщений: 1969
МодальноеОкно
alex55555
пропущено...

И как же данный пример доказывает важность в неисключительных случаях?


напрягите воображение. представьте что 0.1 + 0.7 = 0.7999999999999999 - это доля. например от займа или из расчета себестоимости или что-то более вам близкое

Представил, и что? Мой займ увеличился на миллионную долю копейки? Или всё же уменьшился?
11 фев 19, 14:57    [21806479]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 9 10 11 12 13 [14] 15 16 17 18   вперед  Ctrl
Все форумы / Работа Ответить