1. Kotlin / Говнокод #25919

    0

    1. 1
    2. 2
    3. 3
    4. 4
    // One workaround is to approximate a namespace by using with a singleton object class.
    object FooActions {
        fun foo() {...}
    }

    Им дали возможность описывать функции на уровне пакета, без надобности совать их в MyOhuennyeUtils, а они жалуются что нету неймспейсов и пихают функци в класы. Долбоебы ¯\_(ツ)_/¯
    https://medium.com/keepsafe-engineering/kotlin-the-good-the-bad-and-the-ugly-bf5f09b87e6f#3a98

    Запостил: Lorip1971, 08 Октября 2019

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

    • Как называется, когда вместо нормального профулера вручную инструментишь кот в нужных местах enter/leave?
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • цитирую:
        "it’s not obvious from looking at the call site which function is being called."
        ок, да? парниша даже не знает что он импорирует, и ему не понятно от куда функция взялась.
        Ответить
        • показать все, что скрытоvanished
          Ответить
          • я согласен но частино. они бы не помешали будь они вместо ебучих пакетов (как в C#, Rust и чего там еще не знаю) - было бы легче. можно было бы писать а-ля:
            ns kurwa {
               ns barada {
                 ns omg {
                    fun myOhuyennyKod() = 20
                 }
            
                 fun moreCode() = omg.myOhuennyKod() * 153
                 //так то в котлине kurwa.barada.omg.myOhuennyKod
                 // а джаве и того хуже: kurwa.brada.omg.UtilsClass.myOhuennyKod
               }
            }


            а так приходится мириться с тем говном что есть. я недавно хотел свою ухуенную либку запаблишить в мавен. на сколько это просто сделать в ноде, расте, или шарпе, то на столько это ебанутейший процес в джаве:
            тебе во первых надо найти репу которая согласится твое говно паблишить бесплатно. во вторых тебе надо пройти ебанутейший процесс подтвержения домена. т.е, тебе надо доказать, что имя пакета которое ты юзаешь - твой, сука, домен, который ты овнишь. ну разве не дебиллизм?
            Ответить
            • + тебе надо настроить гредл чтобы он генерил блядские сорцы, собсно скомпиленную либу и доки - три отдельных джарки.
              + надо надо получить и настроить креды, чтобы паблишить из гредла, да еще и так чтобы они в репу с комитами не попали.
              короче ебала полнейшая.
              Ответить
            • есть, правда, в этом блядствии и свой плюс. рассмотрим на примере ноды.
              1) идем сюды: https://www.npmjs.com/
              2) в поиске вводим hello world
              3) тыкаем кнопочку сьорч.

              как результат, получаем 2к пакетов ниачом, тупо мусор.
              в джаве такого нету. но как по мне те мучения с проверкой домена того не стоят.
              Ответить
    • В Котлине все говно глобальное чтоли?

      Я просто Котлин на уровне хеловелдов зна.
      Ответить
      • не. там так же как и в джаве все по поакетам разбросано. т есть если ты пишешь:
        package omg.kurwa.barada
        fun coolFunc() = throw Exception("на нахуй!")
        то твоя функция НЕ будет глобальной. тебе нужно будет импортнуть пакет omg.kurwa.barada. как минимум, или явно саму функцию. вот так:
        package my.another.cool.pack
        
        import omg.kurwa.barada.coolFunc
        import omg.kurwa.barada.* // импорт вообще всего в пакете.
        Ответить
        • На вид прямо как в «Python». Именно поэтому…
          Ответить
    • показать все, что скрытоvanished
      Ответить
      • неа. с появлением котлина я забил на джаву.
        Ответить
        • показать все, что скрытоvanished
          Ответить
          • показать все, что скрытоГо-го-го, пошёл нахуй отсюда, го-го-го!
            Ответить
            • показать все, что скрытоОдин из самых ужасных долбоёбов СОГМА, бывший главврач Управления по защите прав потребителей, заведующий кафедрой хихиены, Бутаев Таймураз Майрамович любил задавать студентам одну и ту же шутливую загадку:
              "Откуда у гуся красные лапы?.." Правильный ответ - от колена. Ахахах, блять, какое зашкаливающее остроумие! Браво, доктор.
              Несмотря на богатство, сколоченное на костях, живет этот псих совершенно один - супруга от него сбежала в могилу, дети - на Запад. Скучая дома и стремясь быть ближе к детям, дабы питаться их кровью, Бутаев благодаря взяткам пробился в проректоры...
              Добро пожаловать в сосетию! http://osetia.kvaisa.ru/wp-content/uploads/2013/06/Butaev-Taimuraz.jpg
              Ответить
    • показать все, что скрытоЛубянский опарыш как всегда опоздал. Но Париж не стал ждать убогого недоростка и Путину пришлось проникать к гробу Ширака через чёрный ход. С лубянским говном никто не захотел даже говорить, на поминки не позвали и плешивый царек отправился домой не солоно хлебавши.
      Ответить
    • Бесит это "fun". Люди думают, стараются, а получается похоже на "funny". То ли дело заветное ключевое слово "function". Всем понятно, и с учётом развития технологии хранения информации экономия байтов на этом - никчёмна и унизительна.
      Ответить
      • показать все, что скрытоvanished
        Ответить
        • Мне кажется, что все эти попытки переписать ключевые слова языков программирования также бесполезны как и пустые аббревиатуры типа DRY, KISS, YAGNI и тп. Последний шанс сесть другим квартетом, когда нихуя не умеют в музыку. Ну то такое.
          Имхо, после "перла" - лучшие варианты переименования это либо стрелочные функции, либо из haskell. Спустя время посмотрим что приживётся лучше.
          Ответить
        • Я за скобочки после имени.
          Ответить
          • показать все, что скрытоvanished
            Ответить
            • def pituh(a, b) 
              end 
                 
              def kurochka(a, b, c) 
              end 
                 
              kurochka 1, pituh 2, 3, 4

              Какой багор )))
              Ответить
              • показать все, что скрытоvanished
                Ответить
                • Корректнее будет утверждать, что в «Яибу» можно опускать скобочки, а не то, что их совсем нет.

                  Кстати, там же есть методы с вариативным списком аргументом (как минимум можно объявлять аргументы со значением по умолчанию), т. е. компилятор без скобочек не знает, сколько аргументов нужно захватить. Я правильно понял, что парсер жадный и попытается захватить как можно больше?
                  Ответить
                  • не понимаю, причем тут скобки или не скобки
                    все равно на тйо же строчке писать нельзя
                    точек с зопятой же нету
                    Ответить
              • Вот что я кукареку. Ко-ко-ко-ко-ко.
                Ответить
              • kurochka(1, pituh(2, 3), 4) ?
                Ответить
              • Прямая японская запись
                Ответить
            • Что за нездоровая фиксация? Я тебя затрагиваю? Нит.
              Гляди, из-за тебя опять начну пошатывать ГК, на правах психа.
              Не дразните дурака.
              Ответить
            • Мы же про объявление функции. Вот например в функциональном говне типа хачкеля и правда скобочек нет, там вообще все фнукции.
              Ответить
    • показать все, что скрытоПроведена дезинфекция
      Ответить

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