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

    +75

    1. 1
    2. 2
    StringBuilder append = new StringBuilder();
    ...

    Запостил: redenemy, 03 Января 2012

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

    • Весьма осмысленное имя переменной))) Плюсану
      Ответить
    • Уррааа! Заработал говнокод наш дорогой!
      Ответить
      • с первой же зарплаты оплатили хостинг = )
        Ответить
        • Судя по аватарке, ГК стал интернет-версией "Давай поженимся".
          Ответить
          • Как не удивительно, увидев запись Кузи на Демиарте, сразу подумал о Люре..
            Ответить
          • не могу отделаться от ассоциации с совокупляющимися мухами :-(
            Ответить
          • Хто это на аватарке, и что тут вообще происходит? :3
            Ответить
        • Надо было страйко сделать баннер, как на Вики =)
          Ответить
        • А как же твой ёбырь Катюша? Решил с гомосексуализмом завязать, педик? Или это транс у тебя на аватаре?
          Ответить
      • http://bfolder.ru/_ph/2/2/836718910.jpg
        Ответить
    • и че?
      Ответить
      • Дальше идет работа с StringBuilder-ом и крайне не удобно использование имени метода тут (т.е. получается append.append()) а "работы" довольно много.
        Ответить
        • неудобно, но не вонюче
          Ответить
          • Не вонюче ? А почему-то я подумал наоборот минуты 3 разбираясь а потом забив и сделав реплейс...
            Ответить
            • реплейс? че, админ ограничил вас Блокнотом? ВСЕ ИДЕшки умеют отлично рефакторить без опаски забыть прореплейсить слишком мало или слишком много
              Ответить
              • Под рукой был только notepad++.
                Ответить
                • я долго пытался писать java-код в vim/emacs, но язык не располагает к подобным подвигам.
                  Ответить
                  • Немного археологии, и JDEE в принципе, заработал, jdibug тоже вполне себе работает. Единственная проблема - когда достается проект, который уже построен по-другому, и его нужно самому переделать так, чтобы JDEE его понял. Автодополнение не бог весть, но жить можно. На работе выбор между Intellij и emacs - в первом просто омерзительный текстовый редактор. Ant / Maven билды вполне себе нормально работают, вобщем, жить можно.
                    Ответить
                    • IntelliJ чертовски хороша в дополнении кода и рефакторинге, это первая IDE, работа с которой доставляет мне удовольствие. К текстовому редактору можно привязать Emacs-like биндинги из коробки, но там только самый минимум, и это огорчает.
                      Плюс автоматический импорт проекта из pom.xml-файлов с учётом иерархии, интеграция с VCS, управление classpath в соответствии с pom.xml и ещё много разных плюшек.
                      Но самое главное - всё работает из коробки без лишней конфигурации.
                      Я люблю Emacs всей душой, но для работы над java-проектами в промышленном масштабе (сотня мавеновских модулей) он всё же существенно уступает ide-монстрам. Вот с clojure в нём работать - сплошное удовольствие.
                      Ответить
                      • В какой ситуации может понадобиться сотня pom файлов? Я работаю над частью огромного проекта (только программа-установщик весит около 5 гигабайт). В ветке модуля, над которым работаю pom'ов наверное около 10. Остальные ветки я и не видел никогда... Идея не потянет столько, кстати сказать. Рефакторинг, опять же, работает тольк в тривиальных случаях... как и взаимодействие с системой контроля версий...
                        Ответить
                        • roman@localhost:~/branches/SprintTrunk/src> find . -name 'pom.xml' | wc -l
                          138

                          Очень часто изменяю имена и сигнатуры методов, делаю safe delete, прецедентов косячной работы не было. Взаимодействие с VCS более менее нормально, но с мёржем есть косяки, поэтому пользуюсь проверенным годами консольным svn-клиентом. Тем не менее, в IntelliJ очень удобно управлять сhange list'ами.
                          Ответить
                          • Зачем столько? Я как представлю - плохо становится... Про рефакторинг - всякие аннотации того же Хайбернейта... но не надо о грустном. Просто за идею использования аннотаций надо было что-нибудь оторвать. Редактор в этом не особо виноват.
                            Ответить
                            • Проект большой, модулей много. Сами модули, как правило, не очень большие.
                              Ни разу не приходилось рефакторить аннотации... Сама идея метаданных в коде стара как лисп. Не вижу в наличии аннотаций ничего плохого. Иногда их неправильно используют, это да.
                              Ответить
                              • Не знаю, может в других языках это можно было сделать лучше - в Яве, любое проявления "динамичности" наказывается многосчасовыми (а то и многодневными) поисками ошибок. В нашем маленьком творческом коллективе есть 2 группы, одна из них состоит из всего трех человек, но по другой конец океана. Любое маломальски значимое изменение в настройках (которыми по сути и являются аннотации) приводит к тому, что всю следующую неделю по телефуну приходится с ними править их рабочую копию. Другими словами, все, что в Яве делается неявно, типа формирование и загрузка бинов на основе каких-то невменяемых XML-ей, или на ходу придуманых настроек - которыми и являюстя аннотации, по крайней мере в контексте нашего проекта является основной статьей расходов рабочего времени.
                                Ответить
                                • Да, мне тоже хотелось бы иметь DI, проверяемый компилятором (Cake pattern?). Но в принципе Spring работает, и без него многие вещи в нашем приложении было бы сложно сделать. Иногда приложение не стартует, но проблемы находятся локально и довольно быстро. NPE отлавливать сложнее...
                                  Ответить
                                • Золотые слова.
                                  Ответить

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