1. Python / Говнокод #26877

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    def fake_bin(x):
        k = ''
        while len(x) > 0:
            if int(x) % 10 >= 5:
                k += '1'
                x = x[0:-1]
            else:
                k += '0'
                x = x[0:-1]
        return k[::-1]

    Запостил: achtonepon, 18 Августа 2020

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

    • Блядь, как сложно, низуя не понятно. Переписал на понятный язык:
      def fake_bin(x):
          return ''.join(map(lambda x: {False: '0', True: '1'}[True if int(x) >= 5 else False if int(x) < 5 else 'WTF???'], x))
      Ответить
      • Какой анскилл )))

        def fake_bin(x):
            return ''.join(map(lambda c: '1' if c >= '5' else '0', x))
        Ответить
    • И вообще, давайте флудить и троллить гольфить!

      def fake_bin(x):
          return ''.join('0000011111'[int(c)] for c in x)
      Ответить
      • def fake_bin(x):
            return ''.join(map('0000011111'.__getitem__, map(int, x)))
        Ответить
      • Продолжаем гольфить:
        def fake_bin(x):
            return ''.join(str(int(c)//5) for c in x)
        Ответить
        • Зожимаем ещё на два символа:
          def fake_bin(x):
              return ''.join('%d'%(c>'4') for c in x)
          Ответить
          • fake_bin=lambda x:''.join('%d'%(c>'4')for c in x)
            Ответить
          • В твоём вореанте ещё дохуя пробелов лишних. Сразу видно, что ты анскильный.
            Ответить
            • Я зожимал только основную смысловую часть, но с лямбдой определённо гольфистее.
              Ответить
    • ЙАЖАСцриптухи, присоединяйтесь!
      function fake_bin(x) {
          return x.split('').map((c)=>(c>'4')|0).join('')
      }
      Ответить
      • Нехуя не понятно. Переведи на луа
        Ответить
        • Извини, не знаю, как гольфить на «Lua». Там есть «map()» или что-то подобное питуховским генераторам?
          Ответить
          • Блядь. нислова не понял. Чо такое гольфить, МАП и петушарские генераторы
            Ответить
      • Нихуя не понятно, но вот:
        function fake_bin(x) {
            return x.replace(/./g, c => (c>'4')|0)
        }
        Ответить
        • let fake_bin = x => x.replace(/./g, c => (c > '4') | 0);
          Ответить
          • Ебать, ты как форматтер в редакторе говнокода запустил?
            Ответить
            • Сразу видно, что он опытный. Руки сами любой код форматируют.
              Ответить
            • я нихуя не понял, если честно, суть вопроса
              Ответить
              • Он восхищается твоими скиллами форматировать код без IDE.
                Ответить
                • блять, сложно

                  кстати, ненавижу когда ИДЕ форматирует
                  она всегда делает это НЕ ТАК для тех языков, в которых я обычно нахожусь
                  отключаю к хуям, из версии в версию интеллий так и не смогла удовлетворить этот момент :(
                  Ответить
                  • Настрой. Или там каких-то вариантов не хватает?
                    Ответить
                    • это невозможно
                      тратишь день с выходом очередной "мажорной" версии, а она всё равно хуйней страдает
                      лишь бы автодополнение работало и ладно, а в отступы пусть не лезет, всё равно будет не то, что надо

                      да
                      в ебучем оракле они лет 5 фиксили проблему, когда автодополнялось всё в капслоке, вот пиздец пригорало
                      Ответить
                  • В «Visual Studio» можно настроить автоформаттер так, как удобно. Именно поэтому…

                    Но есть одно «но»: из версии в версию она у меня упорно заменяет отступ в четыре пробела на ебучую табуляцию. Заебала, сука.
                    Ответить
                    • Кстати, о форматтерах
                      Зашел я на новый проект, поставил автоформаттер от еслинта(чтоб конфигурировался) и начал изменять файл где было
                      let a = 1
                      if(expr(a)) {
                         /* ... */
                         return a
                      } else {
                         let a = 2
                         /* ... */
                        return a
                      }

                      Эта хуйня мне сократила else выражение и получилось два раза декларация let a и фейл сборки проекта. А вот если бы был var то все бы работало
                      Ответить
                      • > Эта хуйня мне сократила else выражение
                        Зачем? Зачем? Нахуя форматтеру изменять поведение кода?!
                        Ответить
                        • А зачем ты баги в коде делаешь? Зачем? Зачем?
                          Ответить
                        • потому что еслинт умнее среднестатистической вебмакаки но тупее сборщика
                          https://eslint.org/docs/rules/no-else-return
                          Ответить
                          • Блядь, пиздец полный.
                            Ответить
                            • Ну и похуй. Нехуй одноименные переменные делать в одной функции, перебивая область видимости.
                              Ответить
                              • Ну и похуй. Нехуй писать на js
                                Ответить
                              • Нехуй форматтеру что-то менять в поведении кода. Форматтер должен ставить пробелы и отступы, а не ломать код, ёба!
                                Ответить
                    • И он даже сможет аргументы функции форматировать так, как мне хочется?
                      Ответить
                      • В смысле? Ты об этом: https://i.imgur.com/nP6pssX.png ?
                        Ответить
                        • маловато крутилок
                          анскильно
                          Ответить
                          • Да нет, там их дохуя (скролл не видно на скриншоте). Плюс несколько категорий, в каждой из которой по паре десятков крутилок. Для самых привередливых там даже есть интеграция с «ClangFormat».
                            Ответить
                        • А что гэта опция делает? Переносит каждый новый аргумент на новую строку?

                          Я имел в виду автоматом переносить аргументы на новую строку, когда, например, достигнут или превышен лимит символов в ширину. Так можно сделать?
                          Ответить
                          • > А что гэта опция делает? Переносит каждый новый аргумент на новую строку?
                            Когда ты вставляешь новую строку перед аргументом — он автоматически выравнивается по остальным, как в реальном примере на скриншоте.

                            > Так можно сделать?
                            Насколько я знаю, ГУИшными крутилками — нет. Придётся делать кастомный «ClangFormat» файл и ставить там «ColumnLimit» (но в нём я не разбираюсь). Ну или просто жать «Enter» перед тем, как написать вылезающий за пределы аргумент.
                            Ответить
                  • >> кстати, ненавижу когда ИДЕ форматирует
                    Полностью согласен. Я Такие IDE сразу удаляю
                    Ответить
          • Ссылку на свою контору можешь дать? Вакансии есть? Или не хочешь деанона?
            Ответить
            • Ты так его навыками js впечатлился?
              Ответить
            • деанона не хочу
              вакансии есть)
              но денег в сбертехе больше платят, если что

              [email protected]
              дикпики не слать
              Ответить
              • Что за сайт такой? Раньше на нём говносток был.
                Ответить
                • так и было
                  купил тогда домен на 10 лет, который А записью на айпишник борманда смотрел (чтобы никто не кинул предъявы, что я трафик перехватываю)
                  а потом всё разъебали в труху
                  Ответить
              • По поводу рассылки фото члена всем моим друзьям! Друзья, меня взломали! Поэтому на этой неделе рассылки не будет!

                (0 новых входящих дикпиков)
                Ответить
                • Я зассал писать, стрёмный адрес.
                  Ответить
                • > (0 новых входящих дикпиков)
                  Так уж и быть, отправил один, проверь.
                  Ответить
                • Ой, нет, дикпик до тебя не дойдёт :-(.
                  Aug 19 16:51:39 mail postfix/smtp[10931]: to=<[email protected]>, relay=mx.yandex.net[93.158.134.89]:25, delay=7.1, delays=0.8/0.06/5.5/0.75, dsn=4.7.1, status=deferred (host mx.yandex.net[93.158.134.89] said: 451 4.7.1 Sorry, the service is currently unavailable. Please come back later. 1597870298-hiC5w6j4ii-pc8ePBJ2 (in reply to end of DATA command))
                  Ответить
                  • Ты сломал Rндекс?
                    Ответить
                    • Проверил, это был «greylisting». Rндекс не доверяет почте с левых айпишников из Колорадо-Спрингс. Сейчас должно было дойти.
                      Ответить
                      • Упало сразу в спам
                        Ответить
                        • Какой анскилл )))
                          Ответить
                          • Вам перезвонят.
                            Ответить
                            • Да он неадекват.
                              В каких гомоиконных полях Галуа будет выполняться равенство
                              8=3
                              ?
                              Ответить
                              • Кто может в терминах профессора Чайникова объяснить, что такое гомоикона?
                                Ответить
                                • Если я не туплю, то в гомоиконщине код можно обрабатывать как данные. Лисп, к примеру.
                                  Ответить
                                • посмотри, как выглядит любая программа на языке XSLT
                                  с её помощью, если захочется, можно сделать новый XSLT, это не будет выглядеть инородным

                                  а вот в условном c# ты несколько заебешься формировать выхлоп такой, чтобы тот являлся снова компилируемой c# программой — я не говорю, что это невозможно, просто это "не своё", также как и ООП в сишке, например
                                  Ответить
                                • tcl, xslt или lisp: код и данные выглядят одинаково.
                                  Ответить
                      • давно себя на mailtester провеял?
                        Ответить
        • > Нихуя не понятно

          Именно поэтому я за «PHP».
          Ответить

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