1. Go / Говнокод #27395

    +1

    1. 1
    2. 2
    3. 3
    if req.Lang != "" {
    	req.Lang = "EN"
    }

    Я сказал английский!

    [Поставленная задача: если пришёл запрос без поля, поставить значение по умолчанию]

    Запостил: anon007, 06 Мая 2021

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

    • > если пришёл запрос без поля
      Без поля — это nil? Или пустая строка?
      Во втором случае всего лишь на один символ ошибся.
      Ответить
    • А почему не валидируешь валидатором?
      Ответить
      • Фабрикой билдеров валидаторов создаёшь билдер валидатора, потом билдишь валидатор билдером валидатора и запускаешь микросервис для валидирования. Нужна инъекция депенций, чтобы любым билдером валидатора строить любой валидатор.
        Ответить
        • А валидатор для билдера валидатора, и депенций для иньекции депенций?
          Ответить
          • Деменций деменцией валидацией кобенаций /* нервно пишу на джаве, ведь у меня в классе ещё 40 тысяч полей без геттеров и сеттеров, хешей и тустрингов */
            Ответить
    • Да норм. Язык по умолчанию в любой системе есть вроде.
      Ответить
      • Даже если юзер хочет выбрать что-то другое?
        Ответить
        • Берет и выбирает (либо выбирается автоматически по его запросу, если возможно). Problems? Пустой язык - это в общем-то неопределенное состояние для локализатора. На фронте ставить язык по-умолчанию ок (надо же хотя бы в выборе языка показывать текст), на бэке лучше посылать нах.. с пустым языком наверное.
          Ответить
          • Дык тут наоборот. Если юзер задал язык, то мы забиваем на его выбор и ставим английский. А если пустой - ну и пофиг, пусть пустой остаётся.
            Ответить
            • Зачем вообще это всё говно делать вручную?

              Даже в сраной джанге есть API для выбора языка и язык по умолчанию. Язык или берется из запроса, или ты сам его явно задаешь.

              Ответить
            • А. Не заметил "!=", сорян. Тогда да, типичный индусокод.
              Ответить
    • Какое пхп:))

      В стат типизированном языке они язык строкой передают, да еше и вручную проверяют, что он не пустой
      Ответить
      • При чем тут стат типизация?
        Ответить
        • Притом, что нужно сделать enum
          Ответить
          • А когда администратору сайта нужно будет добавить язык, он будет просить подрядчика переконпелировать и пересобрать ему программу за дополнительную плату?
            Ответить
            • Нужно иметь енум из всех описанных в ISO языков. Они появляются довольно редко:)
              Ответить
              • Зачем? Может он подкладывает файлик с именем ru-RU.txt, где описаны все переводы, а в базу в табличку языков (или в файл languages.lst) добавляет ru-RU?
                Ответить
                • >Зачем?
                  Чтобы как можно скорее превратить строку в нечто, имеющее семантику, и далее этим пользоваться. Зачем стат типизация вообще?
                  >файлик
                  зачем писать такое каждый раз? Фреймворков для локализации нету?
                  Ответить
    • Не понятен контекст. Если ето не хэндлер для веб-странички, а сервис для переводов какой-нибудь, то подарить такому аналитику (или заказчику) книги по дискретной математике и матану. Ишь повадились применять "видение юзера" ко всем компонентам системы.
      Ответить

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