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

    +115

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    /**
     * Converts the Accpac fields to names that do not
     * require Sherlock Holmes to decipher.
     * 
     * @param arcus Accpac customer object
     */
    public Store(final ARCus arcus) {
    	name = trim(arcus.getIdcust());
    	description = trim(arcus.getNamecust());
    	addressLine1 = trim(arcus.getTextstre1());
    	addressLine2 = trim(arcus.getTextstre2());
    	addressLine3 = trim(arcus.getTextstre3());
    	addressLine4 = trim(arcus.getTextstre4());
    	suburb = trim(arcus.getNamecity());
    	state = trim(arcus.getCodestte());
    	postalCode = trim(arcus.getCodepstl());
    	country = trim(arcus.getCodectry());
    	contactName = trim(arcus.getNamectac());
    	phone1 = trim(arcus.getTextphon1());
    	phone2 = trim(arcus.getTextphon2());
    	email = trim(arcus.getEmail2());
    	department = arcus.getAudtorg();
    }

    Запостил: someone, 27 Мая 2013

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

    • показать все, что скрытоГорько плачет жаваблядь, map-а на платформе нет.
      Ответить
      • Есть map, но чем он тут поможет?
        Ответить
        • показать все, что скрытоНу хоть trim не каждый раз писать.

          Map то есть, а замыкания?
          Ответить
          • Нахуя тут замыкания? 146%, что это адаптер между каким-то проприетарным 3rd-party говноклассом и нормальным кодом. А адаптеру вполне простительно выглядеть как говно. В конце-концов он спасает от этого остальной код.
            Ответить
    • это поля или локальные переменные?
      Ответить
      • Поля, конечно. Конструктор, объявлений локальных переменных не видно.
        Ответить
        • точно, обьявлениям негде спрятаться.
          ну тогда и не говно.
          Ответить
          • s/ь/ъ/
            Всегда ваш, grammar nazi.
            Ответить
            • спрятатЪся???

              WTF?
              Ответить
              • обЪявлениям
                Ответить
                • Разве grammar nazi указал, что замена осуществляется только для первого кейса?
                  Ответить
                  • Разве grammar nazi указал опцию g, показывающую, что заменяется не только первое вхождение?
                    Ответить
                    • Увы, но для меня
                      > s/ь/ъ/
                      данная конструкция является абстрактным синтаксическим анализатором (в котором алгоритм следующий: 1. Берем весь текст 2. Ищем второй аргумент во всем тексте 3. Заменяем найденные значения на третий аргумент) и если grammar nazi использует некую существующую реализацию (vi что-ли линухное?), то мой низший разум не смог постичь сей истины.
                      Ответить
                      • > vi
                        sed, но в vi так же, да
                        Ответить
                      • Ну, просто, мест где регулярки пишутся именно с буквой s в начале я знаю не так много - perl, sed, ну vim. Их не так много. И во всех этих случаях после палки можно писать опции (глобальная замена, регистрозависимость и т.п.).

                        > то мой низший разум не смог постичь сей истины.
                        Да не парьтесь Вы так ;) Здесь же не собеседование и не экзамен. Все лучше всего знают то, с чем постоянно работают. Я вот, например, в SQL нуб-нубом. Только сегодня узнал про on delete cascade в foreign ключах. А до этого ебашил каскадное удаление ручками, как последний ламер.
                        Ответить
                        • > Да не парьтесь Вы так ;)
                          Я из всего извлекаю для себя плюсы :)

                          Хотел подЪебловить spell checker'а, а выучил для себя дефолтовое поведение функции замены в линуксовых текстовых процессорах.
                          Ответить
                          • > Я из всего извлекаю для себя плюсы :)
                            Аналогично ;) Хотя далеко не все, что я узнал на ГК, потом пригодится на практике.
                            Ответить
                        • > Только сегодня узнал про on delete cascade в foreign ключах.
                          Опасная штука, будьте осторожны.
                          NO ACTION (когда ошибка выскакивает при попытке удалить) - будет побезопаснее. Удалять данные только через интерфейс (ORM, хранимая процедура), который все зависимости отслеживает.
                          Ответить
                          • Ну мне надо было для таблички, эмулирующей отношение многие-ко-многим, не для чего-то более масштабного и серьезного. Примерно так:
                            create table users_groups (
                                user_id integer references users(id) on delete cascade,
                                group_id integer references groups(id) on delete cascade
                            );
                            При удалении юзера или группы лишние ассоциации автоматом подчищаются.
                            Ответить
                        • Foreign ключи не нужны, ибо они платформозависимы.
                          Ответить
                          • > SQL
                            > платформозависимость
                            Кул стори, бро.
                            Ответить
                            • At a later stage, foreign key constraints will be implemented for MyISAM tables as well.

                              Тем временем шёл 2013-й год, а foreign keys были не во всех движках...
                              Ответить
                              • Ну MyISAM это вообще обрезок, хотя и достаточно шустрый за счет этого. Там не то что FK, там транзакций то нет.
                                Ответить
                                • Ты забыл сортировку за O(n^2).
                                  Ответить
                                • Что делает foreign key?
                                  Ответить
                                  • Обеспечивает ссылочную целостность:
                                    - не дает вставить запись с кривым значением, которого нет в связанной таблице
                                    - удаляет записи, если запись, на которую они ссылались, была удалена (ну или запрещает удалять записи, на которые кто-то ссылается)
                                    - обновляет поле со ссылкой, если оно изменилось в той записи, на которую ссылаются (ну или тупо запрещает его менять)

                                    Как-то так.
                                    Ответить
                                  • показать все, что скрытоНублан.
                                    Ответить
                              • P.S. А какой вообще профит от MyISAM, помимо производительности?
                                Ответить
                                • COUNT за O(1). Больше не знаю, но наверное есть.
                                  Ответить
                                  • Только на полные таблицы.
                                    Ответить
                                  • COUNT без WHERE за O(1)

                                    Исправил.
                                    Ответить
                                  • > COUNT за O(1)
                                    Ога, за счет table-level блокировок. Только вот часто ли кому-то нужно считать все записи в таблице?
                                    Ответить
                                • У MyISAM каждая табличка в отдельном файле стандартного формата, поэтому можно обойтись без функций экспорта-импорта, тупо копируя файлы.

                                  Если не сравнивать с другими СУБД, кроме мистера Мускула, то:

                                  1. Индексы FULLTEXT в InnoDB появились только в версии 5.6 и то как костыль. На самом деле FULLTEXT не нужен, потому что внешние индексаторы, например, Sphinx, превосходят его и по функционалу, и по производительности.

                                  2. MERGE работает только с таблицами MyISAM: https://kb.askmonty.org/en/merge/

                                  3. This feature of MyISAM is not available in InnoDB; the value of 'id' will start over at 1 for each different value of 'abc':
                                  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
                                  PRIMARY KEY (abc, id)

                                  4. InnoDB нет на популяных хостингах. Пруфлинк.
                                  http://masterhost.ru/service/hosting/virtual/personal-server/for-one/
                                  Ответить
                                  • > можно обойтись без функций экспорта-импорта, тупо копируя файлы
                                    Сомнительная плюшка. На тех же хостингах все равно прав не хватит. Да и сервак стопать ради импорта-экспорта пары табличек... MySQL Way, чо.

                                    У нормальных СУБД один хуй есть тулзы для hot backup'а. А кроме переезда (бекап+рестор) и восстановления бекапа других причин для экспорта-импорта огромных кусков базы в одном и том же формате не вижу.

                                    > InnoDB нет на популяных хостингах.
                                    Вот так вот пыхеры и живут. Сидя жопой на кактусе, и думая, что будет с базой, у которой нет поддержки логирования, если сервак внезапно отрубится.
                                    Ответить
                                    • > и думая, что будет с базой
                                      У mysql'я есть своя ниша применимости, там не принято думать о надёжности. Но я видел кучу сайтов с тупо лежащей или убитой базой, просто из-за внезапного перезапуска сервера.
                                      Ответить
                                    • > пыхеры ... думая
                                      Не уверен, что 99% пыхеров особо думают "а что, если...", просто пишут or die("кан нот коннект"). Думаю, здоровая паранойя (файл не откроется... коннект не удастся... сокет не откроется... база упадёт...) более свойственна людям с системным бэкграундом.
                                      Ответить
                                      • > просто пишут or die("кан нот коннект").
                                        ага, а ресурс сам освободится (соединение, файл)
                                        Ответить
                                        • > ага, а ресурс сам освободится (соединение, файл)
                                          А куда он денется? Это же один из столпов пыхи.
                                          Ответить
                                          • > А куда он денется? Это же один из столпов пыхи.
                                            так я и говорю, что он приучает к плохому. потом эти же люди бросают упаковки и окурки просто на асфальт.
                                            Ответить
                                            • > просто на асфальт
                                              Причина и следствие попутаны местами, но в остальном ничо так.
                                              Ответить
                                    • >> У нормальных СУБД один хуй

                                      А у ненормальных?
                                      Ответить
                  • RegexNazi негодует
                    Ответить

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