ЙажаСценарий / Говнокод #26415 Ссылка на оригинал

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
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
var   words=
    [
 
        {   
             'тупая русня ':1/10
            ,'на бутылку':1/8
            ,'у тебя же прыщи':1/12
            ,'руснявый':1/8
            ,'прыщеблядский':1/8
            ,',обоссался':1/10
            ,'обоссал':1/10
            ,', маму твою ебал,':1/12
            ,'стекломойная русня':1/8
            ,'гермашка': 1/10
            ,'туши пердак':1/8
        }
        ,{
            'садись на бутылку':1/8
        }
        ,{'стекломойный русачок':1/11,' пуйло':1/7,'ко-ко-ко':1/6,'рашка':1/10,', пидорахен':1/10}        
        ,{'пидораха,': 1/6,', пидораха полыхнула,': 1/12
            ,'козлодойч': 1/12
            ,'гермашка': 1/10
         }
        ,{  
            'свинособака':1/6
            ,', мамку ебал,':1/12
            ,'бамп отсосу ':1/13
            ,', маму твою,':1/12            
            ,'скрепы':1/11
            ,' пидораха,':1/8
            ,'cтекломойный':1/8
            ,'стекломоя наебнул':1/8
            ,'садись на бутылку':1/10
            ,'днище':1/7
            ,'русня':1/9
            ,'кремлебот ':1/6
            ,'порватка':1/10            
            ,'порвался':1/15
            ,'руснявая пидараха': 1/11
            ,'бубарех': 1/10
            ,'хуйня': 1/10
            ,'залупин': 1/13
            ,'хуйло': 1/12
        }
];

Словарь слов-маркеров анона с /po для склейки крупных кусков кобенады и твердой мелкой психозы.

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

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

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

    • Да. Тупая русня а в клетках туши пердак запись приходятся десятком стекломойный русачок торговых марок. Так же днище всё. Потом наконец-то пидораха, порвался несправедливо 🙂 Козлодойч

      Если бы могло мне обратить не программировать пуйло классы. Прямой кобенации хуйня о какой информации о как в своё прыщеблядский временно поэтому я стекломойный русачок за «php». php мне нравится примерно сотня пидораха, миллионов. И тот же функцию указателя - здесь , маму твою, уже нужно менее пидораха, популярен.
      Ответить
  • прыщеблядский бамп отсосу питоновских строк инструментации (им свинособака подавай видосы), пидорахен необходимо для таки пговоцируете, маму твою ебал

    приминать вареции зожатия 25 залупин тысяч этой степени операций гермашка
    а если у тебя же прыщи современный

    сколько вообще свинособака о строк гермашка для реализацию великий хуйло социализм

    я только kik и садись на бутылку обидевшегося юзверя, обоссал но она порватка значит классов

    и именно поэтому же очень важный для реализации где-то русня между обезьяной и человеком делать вареции зожатия 25 тысяч символов, порватка деталей порядка 10 в 25 степени числа действий бамп отсосу пропорционал часто имеешь с лучший бамп

    - пуйло я пидорахен бамп отсосу пара шлюх обоссал свинособака свинособака - это тупая русня лишь жопный интересный скриптухи и прототипное бубарех наследования классы.

    source #26412
    Ответить
  • 3.14рофессор, но почему бубарех, если вроде баребух?

    Ещё "кобенада" звучит охуенно. Летняя кобенада 2020, зимняя кобенада, паракобенада, кобенада по погромированию, сборная кобенийцев.
    Ответить
    • Кобенада — это из другой оперы.
      У меня для царя есть отдельный словарик, для вореций отдельный и для симулятора гопника отдельный.

      Тут главнее алгоритм, который будет вставлять эти кейворды в текст органичнее чем я делаю сейчас.
      var gop=[
              ,{' вот значит':1/4, ' то есть':1/10}
              
              ,{' значит':1/7   ,' короче':1/4}
              ,{' сука':1/3}
              ,{' чисто':1/4}        
              ,{  ' бля':1/1.5
                  ,' блять':1/1
                  ,' нахуй':1/3
                  ,' в пизду':1/6
                  ,', ёб твою мать, ':1/5
              },        
              {   
                  ' ебись нахуй':1/15
              }
      ]
      Ответить
      • СУКА ЕСЛИ ТЫ ЕЩЕ РАЗ НАПИШЕШ var ВМЕСТО const Я ТЕБЯ УВАЖАТЬ ПИРИСТАНУ ПОНЕЛ СУКА
        Ответить
        • Он не знает слова «let» и слова «const».
          Он не знает «for...in» и «for...of».
          Он способен дотянуться до звёзд,
          Не считая, что это сон.
          Ответить
          • Он не знает слова «const» и слова «let»,
            Но оставит на гэка вореций след.
            Джаваскриптом разрезает говнокода облака
            Кобенатор натального полка.
            Ответить
          • икарус, быстро отвечай не подглядывая чем for in отличается от for of
            Ответить
            • >чем for in отличается от for of

              Первый неюзабелен, но поддерживается везде.
              Второй юзабелен, но не поддерживается.
              Ответить
              • Совершенно ты не прав

                Они нужны для разного, и поддерживаются во всех браузерах, выпущенных в последние 4 года (и в ноде тоже)

                То-есть все (кроме Семы) могут их использовать
                Ответить
                • Приведи реальный пример использования for in, без костылей с if (Object.prototype.hasOwnProperty.call)
                  Ответить
                  • const object = {javascript: "govno", php: "hujna"};
                    
                    for (const property in object) {
                      console.log(`${property} полная(ое) ${object[property]}`);
                    }
                    Ответить
                    • Ну вот ты и соснул хуйца с for~in.

                      Какой-то любитель наследования напишет в другом месте:
                      Object.prototype.pituh="koko"

                      И этот говнокод разваливается нахуй:
                      javascript полная(ое) govno debugger eval code:6:11
                      php полная(ое) hujna debugger eval code:6:11
                      pituh полная(ое) koko

                      >const
                      >`
                      Вместо хипстерского ES6 говна надо было учить Крокфорда.
                      Тогда было бы понимание что for~in лучше избегать. Или писать hasOwnProperty.
                      Ответить
                      • ты втераеш мне какую-то дичь

                        занаследованный от родителя ключ действительно не обработается, но ничего не упадет


                        разница между in и of в том, что in итерируется по ключам, а of -- по значениям массива
                        Ответить
                          • Итерируемым ключам этого объекта и его прототипов.
                            Ответить
                            • А я могу добавить неитерируемые ключи? Или они только встроенные?
                              Ответить
                              • >А я могу добавить неитерируемые ключи

                                Запросто.
                                Object.defineProperty(obj, 'key', {
                                  enumerable: false,
                                  configurable: false,
                                  writable: false,
                                  iterable:false


                                По дефолту обычные объекты не итерируемые.
                                for (var x of {1:2,3:4}) console.log(x);
                                TypeError: ({1:2, 3:4}) is not iterable


                                У меня ECMA6 сразу вызвал рвотный позыв, будто это жаба скриптушачья.
                                Ответить
                                • VM290:1 Uncaught TypeError: {(intermediate value)(intermediate value)} is not iterable
                                      at <anonymous>:1:15

                                  Какой intermediate value )))
                                  Ответить
                              • Ещё есть Symbol (выкидыш больного воображения авторов для борьбы с умолчательной публичностью ключей, достойный места в стандарте C++ и пары страниц на французском в Войне и мире). Symbol по умолчанию неитерируемый без возни с метаданными свойств и недоставабельный. Наличие полей, спрятанных за символами, если символов нет, можно отследить только по количеству потребляемой памяти.

                                var x = {};
                                x[Symbol('a')] = 'меня никто никогда не достанет, т.к. мой символ потерян';
                                console.log(x[Symbol('a')]); // undefined
                                Ответить
                                • Какой пиздец )))

                                  Достал, кстати:
                                  x[Object.getOwnPropertySymbols(x)[0]];  // "меня никто никогда не достанет, т.к. мой символ потерян"
                                  Ответить
                                  • Занятно, не знал об этой питушне.

                                    Зачем тогда Symbol? Зачем? Зачем?
                                    Он должен был малость бороться с нарушением инкапуляции, а не примкнуть к нему!
                                    Ответить
                                    • Я вообще не понял, что такое Symbol в JS. Несколько раз читал документацию по нему, но в памяти ничего не отложилось.

                                      В «PHP» никаких символов нет. Именно поэтому я за «PHP».
                                      Ответить
                                        • Анскильная пропаганда обосновывала нужность этой срани так.

                                          > У вас есть объект с полем pituz. Завтра мы в стандарте насрём в прототип Object функцию pituz, и у вас случится питушня.

                                          Но отребье просто врёт своим адептам.

                                          Решение я давал выше: достаточно создать объект не через {}, а из пустого прототипа.
                                          Ответить
                                      • >Я вообще не понял, что такое Symbol в JS.

                                        Насколько я помню, это штука не столько для инкапсуляции, сколько для уникальности.
                                        То есть два символа никогда не равны друг другу.

                                        Если «перевести на Java», то это как new Object() с переопределённым toString().

                                        var o1=new Object();                                                 //var o1=Symbol()
                                        var o2=new Object(){public String toString(){return "azaza"}};   //var o2=Symbol("azaza") 
                                        
                                        o1!=o2
                                        Анскильная пропаганда говорила что-то про ключи. Но это чушь.

                                        Единственное полезное использование уникальности в яве: это решение проблемы ABA в CAS-алгоритмах.

                                        Создавать каждый раз новый Object, так что никогда не будет двух объектов с одной ссылкой.

                                        Зачем это нужно в js — ума не приложу. Если они хотели завезти в js потоки и спинлоки, то это пиздец.

                                        А если не хотели — тоже пиздец, ибо символ бесполезен.
                                        Ответить
                                        • > То есть два символа никогда не равны друг другу.
                                          Кроме тех, что сделаны через «for» с одинаковыми ключами.
                                          > Symbol('huj') == Symbol('huj')
                                          < false
                                          
                                          > Symbol.for('huj')
                                          < Symbol(huj)
                                          
                                          > Symbol.for('huj') == Symbol.for('huj')
                                          < true
                                          Ответить
                                          • В «MDN» эпический багор есть:
                                            >>> In contrast to Symbol(), the Symbol.for() function creates a symbol available in a global symbol registry list.
                                            >>> The global symbol registry is a list with the following record structure and it is initialized empty
                                            >>> To avoid name clashes with your global symbol keys and other (library code) global symbols, it might be a good idea to prefix your symbols:
                                            >>> Symbol.for('mdn.foo');
                                            >>> Symbol.for('mdn.bar');

                                            Это же та самая херня, которую скучные дяди с галстуками в своих коболах решали с середины прошлого века: глобальные имена, глобальные имена с ручными префиксами, пространства имён, локальные имена, замыкания… Джаваскриптовые хипстеры как всегда решительно встали в самое начало пути изобретения колеса.
                                            Ответить
                                          • >Кроме тех, что сделаны через «for» с одинаковыми ключами.

                                            Какой Symbol )))

                                            Прям в лучших традициях C++ сделали ПРАВИЛО, и не забыли добавить парочку исключений.

                                            .
                                                               FFFUU`   yL yGML               
                                                            FFFUUFFFUUFFFUUB_  lW             
                                                          gF          gg_M       *.           
                                                         A`           fBgL        \y          
                                                     __yf            FFFUU  MB*w   gW         
                                                   FFFUUB+__         hMMf  W`   lL dOE        
                                                    _B    FFFUU     gyM  yf    L `w \ L       
                                                  jyf       `L      l_E z      L_ yA *A       
                                                  B      FFFUUa.     FF U       ``  \ ly      
                                                 gj    +f      iL       U            W fL     
                                                rf|   j__       FfU      U           |  ML    
                                                Ld    `  k       g       `W          f  j*.   
                                                Lf    W**        k  Fffuufufuufufufu    Lj   
                                                H     i        yf yfW   L   *L_          l_   
                                                H     d       y  y   W_ L`*   FFFUUW      g   
                                                H      Fffuuuu  y W  l `          ` \     g   
                                                M               FFFUUf               t    dL  
                                                M               h=`          _.       t    F  
                                                M.             g           yf `W       L   F  
                                                kj             j       FFFUU    FFFUU_ L   F  
                                                ji             |      y        f `f    k   U  
                                                d k           _      q    FFFUU  FFFUUA    U  
                                                 Ll           j           f   _Wf          U  
                                                 `LI         g       Wf`A L _M`           uU  
                                                  la         f  .a  /    *Gf              U   
                                                   f\       j _f  *g   _+f               Uu   
                                                   i i       Fffuuffuuu                  u    
                                                    L `=L                               U     
                                                    l    `*                             r
                                            Ответить
                                    • >Он должен был малость бороться с нарушением инкапуляции, а не примкнуть к нему!
                                      Питушня ради питушни.
                                      Дрочь ради дрочи.

                                      Я ведь с самого начала про это твержу.
                                      Что весь ECMA6 — набор сахарных, полубесползеных фич, которые превращают, угловатый но в целом простой язык в злобного франкенштейнта.
                                      Эдакий C++ для вёба.
                                      Ответить
                                    • В js есть только один старый-добрый способ сделать инкапсуляцию.

                                      И был он всегда. И никакого сахеру и новой питушни для него не требуется.
                                      inc=function (){
                                         var private=0;
                                         return function(){return ++private;}
                                      }()
                                      
                                      inc();
                                      inc();

                                      Зачем городить хуйню? У меня только один ответ: новый ECMA-стандарт писали анскильные крестухи и жабоёбы.
                                      Видимо просто были не в курсе: что ТАК МОЖНО.
                                      Ответить
                                • >выкидыш больного воображения авторов для борьбы с умолчательной публичностью ключей, достойный места в стандарте C++

                                  Абсолютно верно подмечено.

                                  Мне в новом js очень многое напоминает то кресты, то яву.

                                  Но именно здесь, сравнение с С++ — это попадание в десяточку.

                                  В сишке были structы c публичными полями, все были довольны.

                                  Потом приходит Сиплюструп, говорит, «эээ, неет ребятки. это слишком просто». Тут же нужна ИНКАПСУЛЯЦИЯ!

                                  И появляется class. Хорошо, есть инкапсуляция.

                                  Начинается следующий логический этап: борьба с ней.

                                  Дальше появляются секции public: и protected: которые позволяют нарушить этот принцип.

                                  А следом какие-то безумные кейворды типа friend.
                                  Ответить
                                  • Читая статьи фанатиков ООП, я всегда недоумевал на части с объяснением нужности ИНКАПСУЛЯЦИИ. Абсолютное большинство этих вореций в сокращённом варианте звучат так: «Если у вашего класса будут доступны внутренние поля, то пользователь сможет его сломать!». Страшно, конечно, что кто-то СЛОМАЕТ мой код… но какого хуя? Эти неведомые ломатели что, залезут в мой репозиторий и там поломают всё что без ИНКАПСУЛЯЦИИ? Или они ко мне на компьютер вломятся? Что это вообще за херня — «сломать класс»? Кому будет плохо от того, что какой-то Вася Пупкин полезет куда не надо и получит ошибку? Не понимаю.

                                    Вот подход «Питона» мне нравится куда больше: если по задумке автора поле трогать нельзя — к нему просто добавляется нижнее подчёркивание. И всё.
                                    Хочешь залезть во внутренности класса и там насрать — пожалуйста, кто я такой, чтобы запрещать кому-то программировать?
                                    Из-за изменений в кишках словил баг — ну, молодец, твои проблемы.
                                    Более того, запись в питоновские «конвенционно-приватные» поля очень хорошо видна визуально (нижнее подчёркивание после точки сразу бросается в глаза), и на ревью такую херню спокойно могут заворачивать. Да и статический анализ такой кейс выловит элементарно.

                                    А все вот эти вот ЗАПРЕТИТЬ, НЕ ПУЩАТЬ — это какая-то дрисня.
                                    Ответить
                                    • >А все вот эти вот ЗАПРЕТИТЬ, НЕ ПУЩАТЬ — это какая-то дрисня.

                                      Дрисня полнейшая.

                                      При том вся эта заshitа очень легко обходится.

                                      В яве рефлексией, а в крестах кастом в указатель и прямой записью в память.

                                      Или просто тупым #define private public
                                      Ответить
                                      • Я в своём коде в каждом файле пишу #undef private, #undef true, #undef false, а то мало ли.
                                        Ответить
                                        • >Я в своём коде в каждом файле пишу #undef private, #undef true, #undef false, а то мало ли.

                                          Гыгыгы. Я не успел добавить, что вряд ли найдутся параноики которые будут делать #undef всего синтаксиса.

                                          Именно поэтому единственно полезная структура данных это «массивы».

                                          В них нету никаких private элементов.
                                          Ответить
                                        • Макросы вообще не нужны.

                                          Это костыль, который появился временно ради #include, потому что в сишке нет модульности. От #include веет «Бейсиком» и «Фортраном».

                                          Ради чего ещё нужны макросы?

                                          Чтобы определять константы через #define? Устарело, ибо появилось «const».

                                          Чтобы определять псевдофункции? Не нужно, когда поддерживается атрибут inline.

                                          Для того, чтобы создавать свой синтаксический сахарок для сокращения кода? А вот для этого сишный препроцессор слишком слаб. Уж лучше в качестве препроцессора использовать какой-нибудь скриптовый ЯП. Даже обосранные «PHP», «Ruby», «Python» и «JS» подойдут.
                                          Ответить
                                          • > для этого сишный препроцессор слишком слаб.
                                            Ну неправда же, надо просто уметь им пользоваться. Там даже есть косвенная рукурсия. Правда её надо пинать другими макросами, чтоб раскрылась.
                                            Ответить
                                      • Во, нагуглил реальные примеры тупых оопитухов:
                                        >>> С помощью инкапсуляции мы защищаем данные от неправомерного использования.
                                        >>> Для того, чтобы никто не получил доступ к тому, что не следует, мы пользуемся разными средствами для обеспечения безопасности - ставим замки на двери, пароль на телефон или ноутбук, и т.д.
                                        >>> Точно так же и в Java - мы пользуемся разными средствами для обеспечения принципа инкапсуляции. Но как же мы это делаем?
                                        >>> Создавая новый класс, Вы должны думать не только о функциональности, но и о безопасности - кто и при каких условиях может получать доступ к внутренностям Вашего класса.
                                        >>> Инкапсуляция означает, что данные объекта недоступны его клиентам непосредственно. Вместо этого они инкапсулируются — скрываются от прямого доступа извне. Инкапсуляция предохраняет данные объекта от нежелательного доступа, позволяя объекту самому управлять доступом к своим данным.

                                        Ну что за говно!..
                                        Ответить
                                        • Кстати в жабе рефлексией можно залезть в даже в захваченную лямбдой анонимным классом переменную.

                                          В анонимном классе под них автоматом создаются поля.

                                          А вот способа взять приватное поле в js http://govnokod.ru/26415#comment524719 я не знаю до сих пор.
                                          При том что js оффициально инкапсуляцию никогда не декларировал.

                                          >оопитухи
                                          Новый канон! Жаль что я сам не додумался до такого хорошего, исчерпывающего термина.
                                          Ответить
                                        • Вот всё у программистов через жопу и ходьбу кругами.
                                          То JS ругают, из-за того, что статическая проверка ошибок там не работает, то C++ из-за того, что статическая проверка ошибок там работает.

                                          Сделали возможность в статике контролировать доступ к переменным, чтобы не было ошибок. Пользуйтесь и радуйтесь! Но нет, хотим жрать говно и всё сделать public mutable и dir на всех уровнях стека как в питоне, чтобы потом вероятностным образом разбирать в рантайме нагромождения говн и костылей путём тестов и насильственного прогона кода.

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

                                      Весь спор про инкапсуляцию в крестообразном ООП сводится к тому, нужны ли проперти (и обработка побочных эффектов с ними) или нет. Остальное это какая-то школололирика.
                                      Ответить
                                      • При чём тут проперти-то? Я за «private:» и «protected:» питушню загоняю.
                                        Ответить
                                        • Ну как при чём.

                                          Изменять приватное поле напрямую семантически нельзя не потому, что оно приватное, а потому, что это изменение может иметь побочные эффекты. Тут в дело вступают геттеры-сеттеры ручками в крестах и пропертя в более новых языках.

                                          Впрочем, просто скрывать детали реализации тоже иногда полезно, но только писателям API.
                                          Ответить
                                          • Это подмена понятий. Приватным поле становится не потому, что его изменение должно иметь побочные эффекты, а потому, что его таковым объявил создатель класса. Почему он это сделал — вопрос другой.

                                            А вот куда более интересный вопрос: зачем вообще в языке нужны сущности, запрещающие прямой доступ к каким-то полям? Кто и какую получает выгоду от бесконечной расстановки всех этих private-protected-public-friend?
                                            Создатель класса? Ничего подобного, по сравнению с упомянутым мной нижним подчёркиванием он получает лишь геморрой.
                                            Пользователь класса? Аналогично: он зарабатывает геморрой тогда, когда ему всё-таки оказывается нужно залезть в кишки класса и что-то там поправить, а когда не нужно — ему от наличия private ни жарко, ни холодно.

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

                                              Если ты пишешь reusable код, то он так или иначе является API. Лично я предпочитаю, чтобы моё API было лаконичным и по делу, и не вижу смысла экспозить полдюжины вспомогательных функций, реализацию которых я хочу менять, когда и как мне заблагорассудится.

                                              Нужны ли именно private-protected-public-friend? Тут хез, широк человек, я бы сузил, но ты же можешь писать свои классы с одним только пабликом и течь, никто тебе не мешает.

                                              В няшной, которую местные тролли к месту и не к месту форсят, тоже можно сэмулировать private, просто в хедеры сигнатуры не выносить и всё заебца.

                                              > Половина оопитухов
                                              - сократи количество питухов в круге общения и всё будет ок ¯\_(ツ)_/¯
                                              Ответить
                                              • >В няшной, которую местные тролли к месту и не к месту форсят, тоже можно сэмулировать private

                                                Блин. Я только хотел за это написать.

                                                >просто в хедеры сигнатуры не выносить и всё заебца

                                                Да. То есть в baseline-языках без приватных переменных (Сишка, Жс) при желании легко добиваются приватности безо всякого ООПетушения.

                                                Не хочешь светить кишками — спрячь локалками в функцию и не свети в хедерах/апи.

                                                Притом это будет идиоматично: переменная естественно ограничена скоупом. А для локальных функций просто нет апишки.

                                                В той же яве я давно понял — что лучший выбор для членов класса, это отсутствие модификаторов вообще.
                                                Ответить
                                    • Понятие приватности вообще так себе понятие)

                                      В няшной и кое-где еще есть внятное понятие интерфейса (хедера) и реализации. Что там в реализации никому не важно

                                      @абоебы (и примкнувшие к ним @опаскриптеры и п@тузы с @арпеями) от такого понятия отказались.

                                      Теперь у них интерфейсом является реализация, и так как по-умолчанию там все открыто, надо (как @артышки) везде писать private.

                                      Но на самом деле не нужно и это.

                                      API это то, что задокументировано.
                                      Если член класса не указан в доке, то он для тебя всё равно, что приватный. Трогать его не надо.

                                      Но есть проблема: документацию умеет писать 0.001% программистов. Остальные просто @рут кодом.
                                      Ответить
                                      • > Но на самом деле не нужно и это.
                                        > Но есть проблема: документацию умеет писать 0.001% программистов.
                                        Значит нужно.

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

                                        Поэтому документация должна быть очень тонкой и находиться рядом с кодом (короткое описание функции, её аргументов и контракта где-то рядом с функцией). Документация должна максимально компилироваться, чтобы работали статические проверки (private kokoko - хорошо, _kokoko - плохо, т.к. в первом случае компиляция отследит случайный доступ к kokoko), она должна выводиться из языка или быть частью языка (например, генериться из asserts).
                                        Ответить
                                          • Вероятно. Только документация должна быть не частью научной статьи, а максимально компилируемой питушнёй.
                                            Ответить
                                            • Ну вообще есть средства писать доки прямо в заголовке функции, но доки по функции это часть дела, это просто референс.

                                              Хорошая документация куда сложнее: нужна вводная статья, с ответами на вопросы

                                              * общие концепции этого API
                                              * зачем оно нужно
                                              * от каких API зависит
                                              * пример кода

                                              Нет смысла писать
                                              /**
                                              * Creates pitux
                                              * @kurochka instance of kurochka
                                              **/
                                              function createPetuh(koorochka:Koorochka)

                                              если ты не знаешь, кто такой питуз, и зачем он нужен
                                              Ответить
                                  • >В сишке были structы c публичными полями, все были довольны.

                                    >А следом какие-то безумные кейворды типа friend.


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

                              Да и к меньшинствам я толерантно отношусь, в общем-то...
                              Ответить
                              • Броманд, есть такой скрипт
                                const huilo = {zaza:'bebe'};
                                for (let k in huilo) {
                                 gippopotam(k, huilo[k]);
                                }

                                ты считаешь его неправильным?
                                Ответить
                                • Х.з., в теории из-за const и let этот код не взлетит на старых браузерах, т.е. полифиллы в Object.prototype скорее всего никто не пихал...

                                  Но у меня этот код вызывает те же ощущения, что implementation defined в крестах. Вроде обычно и работает, но так писать совсем не хочется. Я бы keys() или entries() позвал.
                                  Ответить
                        • >занаследованный от родителя ключ действительно не обработается, но ничего не упадет
                          >>но ничего не упадет

                          Хахаха.

                          Насрать что программа работает некорректно. Но главное же что «ничего не упадет».

                          Логика типичных анскильных скриптухов.

                          Но можешь продолжать насаживать плоть на прототипное наследование классов.
                          Ответить
                          • С чего ты взял, что она будет работать некорректно? Ты знаешь требования к этой программе?

                            Ты просто не знал чем for..in отличается от for..of, ляпнул какую-то глупость, и обосрался. А теперь пытаешься выкрутиться
                            Ответить
                            • Азаза питуз какой багор )))
                              Ему Пи показал конкретный пример того, как код с форином ломается, а он раскукарекался.

                              Вообще, Пи несколько лет назад кроме прочего показывал, как надо создать объект, который не подвержен такой питушне с засором прототипов, чтобы чистый форин работал. Советую пролистать старые треды и поучиться у мастеров.
                              Ответить
                              • то-есть ты тоже считаешь, что разница между for..in и for..of в том, что один работает некорректно?

                                Вы там в джаваскрипте все ёбнутые чтоли?
                                Ответить
                                • > то-есть ты тоже считаешь, что разница между for..in и for..of в том, что один работает некорректно?

                                  В целом - да *

                                  _____
                                  * Это не единственное различие.
                                  * Некорректность не по стандарту, а по сути.
                                  Ответить
                                  • >Это не единственное различие.
                                    Они занимаются разными вещами. Итерируются по разным сущностям.

                                    Это всё равно, что сказать, что разница между strtok и fclose в том, что один из них некорректен.

                                    >Некорректность не по стандарту, а по сути.
                                    Что такое "суть"?
                                    Откуда ты знаешь, какие у меня задачи, и какая мне нужна суть?
                                    Ответить
                                    • > Это всё равно, что сказать, что разница между strtok и fclose в том, что один из них некорректен.

                                      Это всё равно, что сказать, что разница между gets и fclose в том, что один из них некорректен.

                                      > Что такое "суть"?
                                      Абстрактное математическое опейсание.

                                      > какая мне нужна суть?
                                      А это не так важно. Если кому-то нужно, чтобы 2+2 было 5, то это его проблемы. А когда конструкция, в основном, приносит только проблемы, её надо менять.
                                      Ответить
                                      • Не стоит ломать человеку розовые очки.
                                        Он нашёл в гугле первую попавшуюся статейку про difference for~in for~of и пытался умничать.

                                        А код примера http://govnokod.ru/26415#comment524552 похоже 1-в-1 скопирован с MDNa

                                        Предлагаю убедиться:
                                        https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in
                                        const object = {a: 1, b: 2, c: 3};
                                        
                                        for (const property in object) {
                                          console.log(`${property}: ${object[property]}`);
                                        }

                                        Ну раз в статье на MDN ничего не написали об острых углах for~in, то гость про это и не в курсе.
                                        «реальный пример», доооо.
                                        Ответить
                                        • Проблема в том, что ты не знал чем in отличается от of, и вероятно думал, что они оба итерируются по ключам.

                                          Тебе было показано, что это не так, и ты завертелся ужом на сковородке, и стал рассказывать про проблемы for..in, тогда как in не является альтернативой of, а of не является альтернативой in.

                                          Пример взят из памяти, но туда он, разумеется, попал с MDN (было бы странно, если бы я выдумывал пример с ноля)
                                          Ответить
                                          • >Пример взят из памяти, но туда он, разумеется, попал с MDN

                                            Тебя попросили реальный пример. А ты взял первый с гугла.
                                            Если бы ты дал пример с рабочего кода, он бы наглядно показал неудобность for~in.

                                            >было бы странно, если бы я выдумывал пример с ноля
                                            >>я выдумывал пример с ноля

                                            Об этом и речь. Если бы не умничал на ГК, а писал на js, и получал за свою писанину деньги.
                                            То у тебя было бы множество реальных примеров, прямиком из кода и выдумывать ничего не нужно.
                                            Q.E.D.


                                            >Проблема в том, что ты не знал чем in отличается от of, и вероятно думал, что они оба итерируются по ключам.
                                            Ещё раз сообщаю разницу.
                                            for~in поддерживается везде, но неюзабелен.
                                            for~of юзабелен, но не поддерживается IE.

                                            Итог: оба пока что бесполезны.
                                            Ответить
                                        • > ничего не написали об острых углах for~in

                                          И при этом сами в соседних статьях показывают полифиллы с Object.prototype... Заебись обучение.
                                          Ответить
                                            • >Это же вики, возьми и поправь сам.

                                              Аахаха.
                                              Это знать надо, это классика!
                                              А скриптухи и анскильные вкатыши должны страдать.
                                              Ответить
                                      • >Это всё равно, что сказать, что разница между gets и fclose в том, что один из них некорректен.

                                        Согласен. Но разве разница между ними в этом?

                                        >Абстрактное математическое опейсание.
                                        А можно ссылку на источник этого определения?

                                        > А когда конструкция, в основном, приносит только проблемы, её надо менять.

                                        Ради бога.

                                        Утверждение "for in -- неудобная конструкция" на мой взгляд верно.

                                        Утверждение "разница между for in и оператором плюс в том, что for in некорректен" -- неверно
                                        Ответить
                                        • > Но разве разница между ними в этом?
                                          Строго говоря — да, этим они различаются. gets.is_correct() != fclose.is_correct().
                                          Ответить
                                          • Отличаются-ли они чем либо еще? Можно ли всегда одно (некорректное) заменить на другое(корректное)?

                                            Является ли это основным отличием?

                                            Они так же отличаются количеством букв.
                                            Верно-ли утверждение "fclose отличается от gets количеством букв"?
                                            Ответить
                                            • > Верно-ли утверждение "fclose отличается от gets количеством букв"?
                                              Разумеется, верно.

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

                                      Судя по учебным примерчикам с MDNa никаких реальных задач на jse нет и быть не может.
                                      Ответить
                                  • В js есть множество вещей о которых мы знаем, но которые лучше не использовать во избежание wtfов.

                                    for~in, with, undefined вместо void, итд

                                    Причём сама по себе идея with — реально годная. Её чуть-чуть недоработали.

                                    Нужно было cделать точечку спереди, как в бейсике.
                                    With Form1
                                        .Left =100
                                        .Top  = 0
                                        .Name = "Window"
                                    End With


                                    Тогда бы неоднозначностей не было в принципе.
                                    Ответить
                              • Ключевое слово hasOwnProperty было повторено ТРИЖДЫ.
                                Умный бы понял сразу.

                                >как надо создать объект, который не подвержен такой питушне с засором прототипов
                                Да. Из пустого прототипа.
                                Ответить
                              • >Азаза питуз какой багор )))

                                Питузы — это камни, обмотанные сетями. Они служат как грузила, удерживающие невода. А оттяжки — это по сути веревки. Вообще на рыбалке все то, что тянут, называют оттяжками. Основное — крепи головную питузу!

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

                                Багор и трап.

                                На судне багор используют, чтобы доставать предметы из воды или швартоваться. Может применяться для работы с парусами. На суше можно использовать для того, чтобы затаскивать лодки, или, к примеру, выволакивать брёвна из воды.
                                Ответить
                                • > камни, обмотанные сетями
                                  Кокой калхоз )))


                                  Пидорашки даже не могут позволить себе нормальные грузила.
                                  Ответить
                • Хром на XP поддерживает, а вот как там со старыми смартфонами/телевизорами?
                  Ответить
                  • >Хром на XP поддерживает,
                    да, хром 2014-го года
                    Ответить
            • for of итерирует по массивам, а for in — по свойствам объектов. Если пробежаться for in по массиву, то он перечислит какую-то лишнюю питушню.
              Ответить
    • > сборная кобенийцев

      Ещё неплохо бы прикрутить словоморфер для этих выражений. Но в рамках простого js usersript это трудно.
      Ecma скриптухи-анскилябры ничего сложнее leftpad ведь не могут предложить.
      Ответить
      • Есть какой-то пакет для бидона, который умеет такое. Правда, название я ожидаемо забыл. Прикрутить прямо к ngk
        Ответить
  • И что с этим делать надо?
    Ответить
  • Жаваскрипт всё ещё не поддерживает замыкающую запятую?
    Ответить
    • Поддерживает. Отсутствие этой фичи есть только в IE, даже на этой основе тест на IE был: !+[1,]
      Ответить
  • Надо бы это прикрутить к процедуре стеммерной натализации из моего старого скрипта…
    Ответить
  • На основе https://govnokod.ru/20235#comment337554
    https://i.imgur.com/ByWXY9Z.png
    В вашу пизду, я царь, как это, знаете, на то ваше государство и построено, чтобы не появлялись у меня в жопе коммунистические свиньи. На вашем государстве, сукины дети, сидит козлина Депутат, который уже ваш статус давно сократил, а вместе с ним и все ваши денежки. Это он, гнида, хочет провести процедуру в пизду органа Мистерий, за которую считается, что эта хуйна ему заслана белой лошадью за кровь, путана простецкая. А трахать сисек вы будете по мере своих сил и способностей, которые у вас будут. И пусть это будет вашим последним шансом на выживание, блядь. Я царь, как хрен моржовый.
    Ответить
    • У меня один раз в жопе были не то чтобы коммунистические свиньи, но глисты были. Это довольно легко лечат сейчас, рекомендую
      Ответить
      • Глисты это и есть эволюционировавшие коммунистические свиньи, которые решили национализировать жопу и говно в ней. Землю - крестьянам! Фабрики - рабочим! Жопу - глистам!
        Ответить
  • >С чего ты взял, что она будет работать некорректно?

    for~in по {...} без hasOwnProperty.

    Кто-то добавляет новый «полезный» метод и всё разваливается.
    Object.prototype.equals=function(x){return this==x};
    Ответить
    • В программе на си кто-то срет в память и затирает ее кусок. Следовательно, malloc работает некорреткно
      Ответить
  • 1. Выебал свою маму
    2. Выебал твою маму
    3. Обоссался
    4. Обосрался
    6. Сел на бутылку
    7. Потушил пердак
    8. Подхуйлятник (?)
    9. Днище
    Ответить
    • Доска, ушедшая краем под днище судна, держала багор за другой конец.

      Набор днища состоит из взаимно пересекающихся продольных (киль, днищевые стрингеры) и поперечных связей (флоры). Основной продольной связью днищевого набора является киль, который проходит по всей длине корабля, совпадая с его диаметральной плоскостью. В оконечностях корабля киль соединяется со штевнями: с форштевнем — в носовой оконечности и с ахтерштевнем — в кормовой.

      Днищевые стрингеры представляют собой продольные балки, идущие параллельно килю, и вместе с ним обеспечивающие продольную прочность корпуса.
      Ответить
      • доска ушедшая краем под днище судна держала багор и с ахтерштевнем в носовой оконечности и с форштевнем в носовой оконечности и вот уже лодки привязываются покрепче крепятся кунгасы ловушки чтобы
        Ответить
  • > 'прыщеблядский' : 1/8

    Числа — это, я так понимаю, веса для вероятности возникновения фразы? А покажи код, которым ты выбираешь фразу с учётом этих вероятностей?
    Ответить
  • Да блядь, нагенерит уже кто-нибудь пасты?
    Ответить

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

Где здесь C++, guest?!

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


    8