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

    +1

    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
    @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, 04 Февраля 2019

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

    • показать все, что скрытоvanished
      Ответить
      • показать все, что скрытоvanished
        Ответить
        • показать все, что скрытоvanished
          Ответить
          • показать все, что скрытоvanished
            Ответить
            • показать все, что скрытоvanished
              Ответить
              • С библиотеками у нас как раз все в порядке...
                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;
                };
                Ответить
                • показать все, что скрытоvanished
                  Ответить
                  • Ну как же нет: 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»).
                  Ответить
                  • показать все, что скрытоvanished
                    Ответить
                  • > изнашивались
                    У меня сейчас где-то 6.3кк нажатий на "z" и "x". Клава жива. Так что вообще похуй.
                    Ответить
                  • Но зачем? Неужели новая клавиатура дороже пердолинга?

                    Вообще, люди кидаются в какие-то крайности. Либо лелеют свои цацки, покупают чехлы, накрывают тряпочкой и экономят ресурс. Либо тупо роняют, забивают гвозди, ... И те, и те в итоге платят больше нервами и деньгами.
                    Ответить
                    • Именно поэтому каждые 3 недели я покупаю новую китайскую клавиатуру за 300 рублей.
                      Ответить
                      • Почему так часто? Протирать лень?
                        Нельзя же так сильно Ctrl+C/Ctrl+V жать :)
                        Ответить
                      • Ты её об колено ломаешь там?
                        Ответить
                    • > экономят ресурс
                      Ножничная клава через пару месяцев активного использования: https://i.imgur.com/ay3AqJw.jpg

                      Именно поэтому я за механику.
                      Ответить
                      • Меру знать надо, чтоб из-за нетерпения на понтовые дорогие механические клацалки не тратиться.
                        Ответить
                        • DAS Keyboard это круто
                          остальное сост
                          Ответить
                          • Mitsumi Millennium круто, а у остального даже подставки под карандаш нет.
                            Ответить
                        • > нетерпения
                          А при чём здесь нетерпение?
                          Ответить
                          • Может, неудачное слово. Эмоциональность, прилив сил, невозможность усидеть на месте и т.п.
                            Ответить
                            • Эмоциональность - это когда перо или мышку кидают в стену, а потом спрашивают в чате как их починить... Немного не тот случай.
                              Ответить
                              • Пыл?

                                В любом случае, стоит успокоиться и не долбить по клавишам со всей дури.
                                В этом плане самое крутое - клавиатура на ультрабуках. Можно печатать тихо и почти без усилий. Миллиметр-полтора - и оно прожалось.
                                Ответить
                                • > со всей дури
                                  Иначе я не успеваю или клавиша не прожимается. А одна недожатая клавиша - слитое фк на мапе.

                                  Поэтому нежные механизмы подобных клавиатур непригодны для этой игры.
                                  Ответить
                                • > печатать тихо и почти без усилий
                                  Я просто оставлю это здесь: https://www.youtube.com/watch?v=go0JkNqVC0I
                                  Ответить
                                  • Ну вот, уже целых три просмотра. А говорили, что на «Говнокоде» никого нет.
                                    Ответить
                                    • Предлагаю устроить говнокодо-стрим по «Osu».
                                      Ответить
                                  • Хуйня какая-то, вот в симуляторах пианино можно подключить MIDI-клавиатуру, и занятие это менее бессмысленное. Именно поэтому я за "Synthesia". Хотя нет, я против "симуляторов".
                                    Ответить
                                    • >хуйня какая-то
                                      Ну да. Зато моск неплохо отключает.
                                      Ответить
                                      • Ничего не понимаю. В "PHP" никакой "моск" не нужен. Именно поэтому я за "PHP".
                                        Ответить
                                      • По этому я за Crusader Kings 2, в средневековье за то что думали сжигали!
                                        Ответить
                        • > меру знать
                          Сложно контролить силу нажатий во время быстрых паттернов... Вот и разъебалось крепление клавиши постепенно.
                          Ответить
                      • > Именно поэтому я за механику.

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

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

                          «Multiedit» появился уже позже, он использовал бройландовскую библиотеку «Трубовижн».
                          Ответить
                      • > Ctrl+K
                        MSVS их взяла или не их?
                        Ответить
                        • Я не знаю, я всё через «msbuild» кокококомпилирую.
                          Ответить
                          • Программист на XML.
                            Ответить
                          • показать все, что скрытоvanished
                            Ответить
                            • > классная тула
                              Это сарказм, надеюсь?

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

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

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

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

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

                                                        гвоздь прав
                                                        Ответить
                                                        • Ну а цмейк и гредл путём запуска и парсят.
                                                          Ответить
                                                          • ну они не совсем императивные, они все же декларативные скорее

                                                            хотя можно наверное на грувях нахуячить в гредле и поствить раком IDE
                                                            можно же?
                                                            Ответить
                                  • > Если ты решил править vcxproj руками - то от UI придётся отречься.
                                    Ну хрен знает. После того, как мне Студия после drag'n'drop'а файликов в проект прописала в vcxproj их абсолютные пути, я файлики прописываю исключительно вручную.
                                    Ответить
            • В JS вообще ничонет
              Именно потому я за пистон
              Ответить
      • Ты где-то здесь увидел параметры url, или это просто отвлеченный вопрос?

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

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

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

        > Иди транспиль тайпскрипт в жыэс
        Не пойду.
        Ответить
    • показать все, что скрытоvanished
      Ответить
    • Стэфа, там налоговая осетинский петух инитересуется, на какие шиши живут Штольман и Тролльвальдс:
      [u]http://govnokod.ru/25471#comment468714[/s]
      Ответить

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