1. Java / Говнокод #18600

    −55

    1. 1
    2. 2
    insrtQuery.append(",?,?,?,?,?,?,?,?,?,?,?,?,?,?")
            .append(",?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");//

    SQL building еб вашу мать!!!!!!!

    Запостил: floppy, 14 Августа 2015

    Комментарии (26) RSS

    • у меня глаза лопаются при таком количестве плейсхолдеров.
      Ответить
      • в каком бизнес софте, это почти норма.

        представь себе какую платёжку или бланк в налоговую - с кучей полей которые надо обязательно заполнить. вот этот ГК это тоже самое, но только в электронной форме. вот по этой причине я и избегаю с бизнес софтом связываться.
        Ответить
        • А что мешает блядь использовать именованные параметры? Или вообще ORM?
          Ответить
          • 43 безымянных параметров заменяем на 43 именованых.... и это по-твоему улучшит что?

            > Или вообще ORM?

            Ну все равно где-то будет 2-3 простыни кода присвоения/конвертирования этих параметров.

            На динамических слабо-типизированых языках это все проще. Но на строго-типизированых, просто так слить кучу параметров разного типа в лист и их пачкой скормить - без извратов - не получится.
            Ответить
            • >и это по-твоему улучшит что?
              Хоть при желании будет возможность разобраться.

              >Ну все равно где-то будет 2-3 простыни кода присвоения/конвертирования этих параметров.
              Может тогда сразу повеситься?

              > слабо-типизированых
              Перлоеб, съеби на парашу! Ты не путаешь слабую и динамическую типизацию?
              Ответить
              • > Ты не путаешь слабую и динамическую типизацию?

                Нет, не путаю.

                > Может тогда сразу повеситься?

                Как маленькие дети. Код пишется и дебажится раз - и потом годами не трогается.

                ЗЫ Хотя в твоем отдельно взятом случае, лучше повесится - качество генетического фонда повысить.
                Ответить
                • дык у него все равно нет доступа с самкам
                  Ответить
                • > Как маленькие дети. Код пишется и дебажится раз - и потом годами не трогается.

                  А потом годами читается.
                  Ответить
                  • >> А потом годами читается.

                    А так как обычно с годами мозгов становится больше - с каждым разом охуевается от написанного все больше
                    Ответить
                    • > с годами мозгов становится больше
                      Это лет до 30...
                      Ответить
                      • Если школьник имел в виду профессиональный рост, то он к возрасту не обязательно привязан.
                        Ответить
                      • А потом все кажется говном и солнце - ебанный фонарь?
                        Ответить
                  • И покрывается матом вместо тестов...
                    Ответить
                    • Юнит-маты - каждый модуль покрывается матом отдельно
                      Ответить
                  • Если write only как у перлоебов - то нет.
                    Ответить
                • >Нет, не путаю.
                  >Но на строго-типизированых, просто так слить кучу параметров разного типа в лист и их пачкой скормить - без извратов - не получится.
                  Получится.

                  Премия Дарвина больше подходит перлоёбам как тупиковой ветви.
                  Ответить
            • > и это по-твоему улучшит что?
              Конечно, улучшит!!!11

              Меня когда-то люто бесило то, что jdbc не мог в именованные параметры.
              Представь, что ты добавил в середину один параметр - придётся переписывать кучу кода, т.к. все индексы уедут. Ну и вычислять при написании и чтении кода индекс для задания параметра - тоже дело не из приятных.
              Ответить
              • > Представь, что ты добавил в середину один параметр

                Сам виноват что в середину вставляешь :)
                Ответить
                • Ок, раньше выгребали из джоина двух таблиц
                  select t1.foo, t1.bar, t2.zoo, t2.zar from
                  в первой добавилось поле baz. Какой код лучше читать:
                  select t1.foo, t1.bar, t2.zoo, t2.zar, t1.baz from
                  или
                  select t1.foo, t1.bar, t1.baz, t2.zoo, t2.zar from
                  ?

                  ПРОСТО НЕ ДЕРЖИТЕ ЕГО ТАК
                  Ответить
                  • пример глупый.

                    более реалистичный: что читается лучше? - http://ideone.com/lWkW6K или http://ideone.com/LLTWsy
                    Ответить
                • Неужели реально есть дебилы, которых не воротит от мысли отсчитывать 20 вопросиков от начала без помощи со стороны ide?
                  Ответить
                  • > отсчитывать 20 вопросиков
                    Чё их отсчитывать то? Они же одинаковые. Добавил один вопросик в конец и задача решена. Другое дело, куда добавлять соответствующий этому вопросику параметр...
                    Ответить
                    • на проекте где от этого страдали, народ реально пытался какой-то порядок у параметров поддерживать (там было около 30).

                      среди кучи чисел, была пара дат и несколько строк, которыми и пользовались как ориентирами. и пара параметров еще в запросе конвертировались. поэтому на самом деле ошибки были достаточно редки.
                      Ответить
                      • >которыми и пользовались как ориентирами
                        Блядь, тут даже пи(др) с фолдингом отдыхает
                        Ответить
                    • > Они же одинаковые

                      Да вот хрен там. Мой предыдущий пример действительно не показательный. Есть и более серьёзная проблема:
                      select x, y, z
                      where x > ? and y = ? and z = ?
                      Иногда превращается в
                      select x, y, z
                      where x BETWEEN ? and ? and y = ? and z = ?
                      Тут как не выпендривайся, придётся вставлять параметры в середину. Аналогичная проблема при удалении условий.
                      Опять же, гораздо проще находить соответсвия именованных параметров значениям - достаточно обычного поиска по файлу, самому отсчитывать ничего не надо.
                      Ответить

    Добавить комментарий