Jawa / Говнокод #25356 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
@Override
public String toString() {
    return "IndexData{" +
            "id='" + id + '\'' +
            ", regNum='" + regNum + '\'' +
            ", docType='" + docType + '\'' +
            ", customerOrg='" + customerOrg + '\'' +
            ", ownerOrg='" + ownerOrg + '\'' +
            ", responsibleOrg='" + responsibleOrg + '\'' +
            ", publishOrg='" + publishOrg + '\'' +
            ", path='" + path + '\'' +
            ", zipName='" + zipName + '\'' +
            ", xmlName='" + xmlName + '\'' +
            ", fileDate=" + fileDate +
            ", publishDate='" + publishDate + '\'' +
            ", info=" + info +
            '}';
}

сериализация в json

Запостил: vistefan vistefan, (Updated )

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

  • Прыщешкольник, ты еще жив?

    А в этой вашей жаве можно передавать параметры url структурой, а не клея строки?
    Ответить
      • Я жаву тоже знаю, но ни в одной проге еще я не видел чего-то кроме
        "http://url?param1=" + value1 + "&param2=" + value2

        Да-да, даже без urlencode
        Ответить
        • Вот что меня действительно выбешивает, это ОТСУТСТВИЕ В JS ПАРСИНГА URL! Каждый нахуй раз приходится копировать со SO, причём каждый раз разные реализации.
          Ответить
            • С библиотеками у нас как раз все в порядке...
              https://www.npmjs.com/package/is-odd
              >isOdd
              >1 073 811 weekly downloads
              Давайте рассмотрим исходный код:
              const isNumber = require('is-number');
              
              module.exports = function isOdd(value) {
                const n = Math.abs(value);
                if (!isNumber(n)) {
                  throw new TypeError('expected a number');
                }
                if (!Number.isInteger(n)) {
                  throw new Error('expected an integer');
                }
                if (!Number.isSafeInteger(n)) {
                  throw new Error('value exceeds maximum safe integer');
                }
                return (n % 2) === 1;
              };

              А что же такое isNumber?
              https://www.npmjs.com/package/is-number
              >19 478 825 weekly downloads
              module.exports = function(num) {
                if (typeof num === 'number') {
                  return num - num === 0;
                }
                if (typeof num === 'string' && num.trim() !== '') {
                  return Number.isFinite ? Number.isFinite(+num) : isFinite(+num);
                }
                return false;
              };
              Ответить
              • Вместо того чтобы закопать в землю мертворожденного инвалида JavaScript у кторого в стандартной либлиотеке нету способа определить является ли что-то числом, люди напилили миллиард либ

                19 миллионов скачиваний болядь
                Ответить
                • Ну как же нет: typeof num === 'number'. Оставшаяся часть функции нужна, чтобы отсечь NaN или чтобы попытаться найти число в строке.
                  Ответить
                  • Может, у авторов модулей - как у анимешников с тайтлами?
                    Ответить
                        • А что такое тайтл в данном контексте?

                          Я просто прогулял все нулевые, из аниме я видел только суперкнигу
                          Ответить
                          • Вы и лекции по аниме на ГК прогуляли, видимо.

                            Я вообще в этом деле не специалист, но на пары к проф. Борманду ходил. Вот тут было обсждение: http://govnokod.ru/18124#comment285636

                            Если я правильно понимаю, 1 тайтл = 1 произведение - небольшой анимешный мультфильм или вовсе целый сериал.
                            Ответить
                            • > Один сезон сериала

                              Ты же говорил в указанном выше треде:
                              > Учти, что даже всякие 400-серийные Наруты считаются за 1 тайтл.

                              Или у Наруто один 400-серийный сезон?
                              Ответить
                          • > из аниме я видел только суперкнигу
                            Ну и покемонов же?
                            Ответить
                        • Ну не совсем. Качество отсмотренного материала тоже влияет. Пример: "у меня 100 тайтлов годной олдоты, а твои 500 - безыдейный штампованный комбикорм".
                          Ответить
              • Боже, какой же пиздец. Именно поэтому я за «статическую типизацию».
                Ответить
          • > Каждый нахуй раз приходится копировать со SO, причём каждый раз разные реализации

            Бедненький
            Ответить
            • Мне тоже его жалко, как представлю как он своими стёртыми в кровь пальцами в очередной раз тыкает ctrl-c ctrl-v, так и наворачиваются слёзы на глазы :'(
              Ответить
              • А я использую Ctrl+Insert и Shift+Insert, чтобы нужные клавиши поменьше изнашивались (клавишу «Insert» не так жалко, как «c» и «v»).
                Ответить
                • > изнашивались
                  У меня сейчас где-то 6.3кк нажатий на "z" и "x". Клава жива. Так что вообще похуй.
                  Ответить
                • Но зачем? Неужели новая клавиатура дороже пердолинга?

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

                  ты копипстил еще в броланд паскале под дос, а там было именно ctrl ins + shift ins
                  Ответить
                  • В «Бройлер Паскале» ещё были кобенации Ctrl+K,B для начала выделения, Ctrl+K,K для завершения выделения, Ctrl+K,H для отмены выделения, Ctrl+K,C для вставки в данное место копии выделенного блока. Я пользовался Ctrl+K,I и Ctrl+K,U для добавления или удаления отступа слева (да, он добавлялся к каждой строке; другого способа работы с вертикальными блоками не было).

                    Там была целая куча кобенаций с Ctrl+K, позаимствованных... не помню, откуда. Из какого-то древнего редактора. Кто вспомнит название, тот древнее меня!
                    Ответить
                    • edit.com какойнить або multiedit?

                      в IDEшке брлндоской были разные хотки, их можно было переключать насколько я помню

                      но выделение блоков там было, да
                      Ответить
                      • «Wordstar». Сам вспомнил.

                        «Multiedit» появился уже позже, он использовал бройландовскую библиотеку «Трубовижн».
                        Ответить
                        • Я на турбовижине изучал ООП
                          Собссно, до турбовижена он мне особо и не нужен был. А там я кнопочки наследовал и переопределял какие-то методы, помню
                          Ответить
                        • >https://youtu.be/5kYfsP_WKLY?t=258

                          на nano похож, или как там этот говноредактор называется которым на ламеродистрах линуксов заменяют vim
                          Ответить
                        • между прочим классная тула
                          поди мне идеевский проект собери с сосноли без грядла
                          Ответить
                          • > классная тула
                            Это сарказм, надеюсь?

                            > без грядла
                            Ну тогда студийный проект надо собирать без msbuild'а. Чтобы в равных условиях быть.
                            Ответить
                            • Вовсе нет.

                              Смотри: cproj и sln можно открыть и собрать и в студии, и с командоной строки (читай из CI).

                              Intellijные же проекты с командной строки собрать нельзя.

                              Gradle это сторонее решение, к тому же не имеющиее UI (в отличие от студии)


                              До появления градла Intelij-based продукты посасывали в этом вопросе и люди рядом с .idea коммитили сборку проекта на чем-то таком чтобы делать это на CI.

                              В студии же msbuild был уже очень давно.

                              Но и с градлом ситуация не очень хороша, потому что gradle это DSL на груви, и как любой DSL он не читаем и не писаем: кусочки градла копируют друг у друга не понимая их смысла, а кроме того там нет UI.

                              С другими Intellij продуктами все еще смешнее: для CLion там CMake, что в целом не плохо (но опять таки без UI) но для сборки одного файла генерируется тонна кода

                              В всякие python и ruby просто стоят в стороне: люди сначала приписывают PATHы в PyCharm , а потом тоже самое делают в системе для запуска тестов на CI.

                              В студии такой проблемы нет вспринцие
                              Ответить
                              • > не имеющиее UI
                                Да и похуй, если честно. Если ты решил править vcxproj руками - то от UI придётся отречься. Разве что .cpp или .h файлик добавить (внимательно поглядывая на дифф). Иначе студия засрёт весь твой няшный и наглядный xml своим раскопипащенным под все конфиги говнищем.

                                UI и сложные проекты не особо совместимы, имхо. В десятке-другом vcxproj'ей ты через гуйню заебёшься настройки поддерживать в консистентном состоянии.
                                Ответить
                                • >Да и похуй, если честно.
                                  хумхау.

                                  У меня был солюшен из трех проектов с довольно гемороидальной настройкой и запуском батфайлов после сборки

                                  И вполне себе настраивался через UI и после этого работал с msbuild.

                                  Если тебе не хватает UI и декларативщины то уж тут уж конечно разницы особой нет: все равно придется писать рукакакаками.
                                  Ответить
                                  • > запуском батфайлов
                                    Ну вот есть у тебя 4 конфига сборки. UI студии въебёт в проект четыре копии этого кастомного шага с запуском батников. Комбики чуть-чуть не так стояли - она въебёт его не во все конфиги. Ревьювить диффы этой хуйни тоже не особо приятно...

                                    А солюшен из трёх проектов даже со сраными мейкфайлами легко поддерживать, имхо.
                                    Ответить
                                    • В теории в UI можно сделать общий шаг, не специфичный для типа сборки.

                                      Поддерживать Make может и легко, но вопрос в его синхронизации со студией

                                      Я же хочу комплишен иметь и запускаться по кнопочке "Run".

                                      А писать одно и тоже два раза я не хочу.
                                      Ответить
                                      • > комплишен иметь и запускаться по кнопочке "Run"
                                        Это всё и с "cmake" вполне работает. И поштучная сборка проектов из гуйни. И отладка.

                                        Реальный минус - после добавления нового файла или опции надо жать кнопочку сборки и ждать пока проекты релоаднутся (и если их сотня-другая - это не особо приятно).
                                        Ответить
                                        • В CLion -- да, а в студии разве можно?

                                          В целом связка CLion/CMake наименее плохая потому что у тебя есть синхронизация с UI и сборка с коммандной строки

                                          Стоит так же упомянуть xcode / xcodebuild
                                          Ответить
                                          • > а в студии разве можно
                                            "cmake" генерит "vcxproj" и "sln" во временном каталоге. Ты их открываешь студией и видишь все файлы с актуальными настройками. Если поправишь цмейклист и пнёшь сборку (из гуя или сосноли, без разницы), то "vcxproj" перегенерятся и студия их релоаднет. На трёх проектах это будет почти мгновенно 🙂
                                            Ответить
                                            • а как они это сделали? неужели их формат документирован?
                                              Ответить
                                              • > документирован
                                                Да, msbuild неплохо документирован. По крайней мере основные механики и опции конпелятора. Если приноровиться - можно даже вручную проекты пилить. Вполне няшно получается, хоть и ебучий XML. Или генерить из своего собственного DSL'а.

                                                А sln отреверсили, видимо. В нём ничего особо полезного нету помимо каталогов и ссылок на проекты.
                                                Ответить
                                                • Вообще тут интересный трейдофф

                                                  С одной стороны я хочу чтобы мне дали писать сборку на нормальном императивном языке и не ебли мозги своими XMLями и DSLями

                                                  С другой стороны GUI по нему не построишь
                                                  Ответить
                                                  • > GUI по нему не построишь
                                                    Построишь, в эту то сторону легко. А вот передавать изменения из гуя в этот язык - уже пиздец.
                                                    Ответить
                                                    • не построишь потому что парсить его можно только посредством запуска, а там нас ждет хальтинг проблем

                                                      гвоздь прав
                                                      Ответить
                                                        • ну они не совсем императивные, они все же декларативные скорее

                                                          хотя можно наверное на грувях нахуячить в гредле и поствить раком IDE
                                                          можно же?
                                                          Ответить
                                                          • Да нихуя они не декларативные. Самый обычный псевдо-декларативный DSL на императивном языке.

                                                            Даже мейкфайл декларативней чем они 😉
                                                            Ответить
                                                            • ну если держаться формальностей то он довольно декларативен

                                                              там дерево строит говен всяких и потом эти говны исполняет

                                                              но конечно ничто не мешает

                                                              while (true) {}
                                                              Ответить
                                                              • В S" Forth" всё ненужное можно выпилить нахуй. Именно поэтому я за S" Forth".
                                                                Ответить
                                • > Если ты решил править vcxproj руками - то от UI придётся отречься.
                                  Ну хрен знает. После того, как мне Студия после drag'n'drop'а файликов в проект прописала в vcxproj их абсолютные пути, я файлики прописываю исключительно вручную.
                                  Ответить
                                  • 😉 бывает такое.
                                    Я всегда проверяю файл перед коммтом
                                    Ответить
    • Ты где-то здесь увидел параметры url, или это просто отвлеченный вопрос?

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

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

    Поэтому я за "PHP".
    Ответить
      • Часто прокатывает? То есть может и не проканать?
        Ответить
        • Оно всё строками хуярит. Будет что-то в духе {"num": "42"} вместо {"num": 42}.
          Ответить
            • у питона сильная

              знал бы ты сколько я карамелек отсосал в джанге от того что не {"pk":42} а {"pk":"42"} например
              Ответить
              • В "TCL" и "SNOBOL" всё строки (правда для производительности в "TCL" таки добавили типы, но они в кишках и снаружи не заметны). Именно поэтому я за "TCL" и "SNOBOL".
                Ответить
                  • В «Перле» в кишках есть не только строки. Хотя да, снаружи типов не видно (однако, операторы различают типы).

                    А ещё у «Перла» есть нескалярный контекст.
                    Ответить
                    • В перле контекст бывает скалярный и листовой (и войд еще, лол).
                      Однако в перле есть понятие "код", а в TCL -- нету.
                      Код процедуры это просто строка, да и само понятие "процедура" это лишь поведение встроенной команды "proc".

                      Генерация тела процедуры в TCL ничем не отличается от форматирования строки (и даже интерполяция из коробки).

                      Это выводит на новый уровень ржавое сухое зашореное сознание питухов, привыкших к тому, что код и данные это разные сущности.

                      Хуя-с-два! Нету между ними разницы
                      Ответить
                        • TCL во многом похож на LISP: в нем тоже минимально простой синтаксис, но скобочки там квадратные
                          Ответить
                          • Квадратные вместо круглых. Круглые вместо квадратных. И фигурные вместо кавычек.
                            Ответить
                            • Кавычки тоже можно. Но они не переживут перевода строк, а фигурные переживут.
                              Другой разницы между ними нету.

                              Круглые для массивов же?
                              Ответить
                            • зы: еще в кавычках сабститюшен работает
                              Ответить
                              • например
                                #!/usr/bin/tclsh
                                set i 42
                                set a "$i+1"
                                set b {$i + 1}
                                set i 43
                                puts [expr $a]; #43
                                puts [expr $b]; #44


                                в кавычках заменил сам тцл
                                А во втором случае заменил уже expr в момент вызова
                                Ответить
    • Тем более, библиотека рассчитана на общий случай, поэтому может работать медленно, а тут царский анролл без единого цикла и ветвления.
      Ответить
    • Я объебался как никогда, разумеется, это не JSON, это автогенерённый toString, вставленный в IDEA через Shift+Insert.

      Однако говнокод в том, что такой toString написан у объекта, единственная цель которого -- быть DTO для сериализации в JSON, и только так он юзается, а toString unused.
      Ответить
  • Ты давбайоб, это автогенерация toString() в Intellij Idea, а не жидсон.
    Иди транспиль тайпскрипт в жыэс
    Ответить
  • похже на генеренный идеей тустринг

    в нормальных ЯПах тустринги генерятся сами, но жвасосы любят руками писать много несложного кода
    Ответить
                • В программировании на любом языке платят примерно за одно и то же, и примерно одинаково.
                  Ответить
                  • Я слышал, программистам на Perl платят, чтобы они НЕ писали код.
                    Ответить
                          • программистов нету, а перлисты есть?
                            Ответить
                            • > а перлисты есть?
                              Перлисты –— это те кто строчат всякие перлы, которые потом сюда постят? Так таких хоть жопой ешь.
                              Ответить
                            • mail.ru делали хуёвые программы когда о PHP еще никто не слышал
                              Ответить
                        • в жж еще

                          может быть в яндексе пара древних завалялась за шкафом
                          Ответить
                    • В целом я бы советовал пользоваться услугами программистов, которые могут решить задачу не написав ни строчки кода.

                      Те же, кто решают простую задачу посредством написания сотен и тысяч строк кода, как правило, являются программистами на "PHP"
                      Ответить
                      • Пользоваться услугами психологов? Проблема выдумана, программа не нужна.
                        Ответить
                        • > Проблема выдумана

                          Это уже наверное к психиатрам, если дело дошло до попытки реализовать и понадобилось вмешательство специалиста.
                          Ответить
    • В джаве даже не могут завести перегрузку операторов, долбоёбы тупые. Бедные джаверы вынуждены писать много буков.
      Ответить
      • Java напоминает водный пистолетик. Его дали детям вместо настоящего C++ чтобы случайно не отстерили себе ногу.

        Причем первые джависты осознанно решили себя кучи инструментов ради "Безопастности!", а современные никогда на плюсах и не писали (если не считать программы из трех строк, кончающейся словами system("pause")) и продолжают кукарекать что С++ сложный и нипанятный и небезопасный
        Ответить

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

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8