1. C++ / Говнокод #13128

    +18

    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
    word mofs[]={0,
                 31,
                 31+28,
                 31+28+31,
                 31+28+31+30,
                 31+28+31+30+31,
                 31+28+31+30+31+30,
                 31+28+31+30+31+30+31,
                 31+28+31+30+31+30+31+31,
                 31+28+31+30+31+30+31+31+30,
                 31+28+31+30+31+30+31+31+30+31,
                 31+28+31+30+31+30+31+31+30+31+30
    //          ,31+28+31+30+31+30+31+31+30+31+30+31
                };

    "Класс для работы с датами" взятый отсюда: http://yun.complife.ru/soft.htm

    Запостил: bormand, 07 Июня 2013

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

    • Это же Юрий Нестеренко!
      Ответить
    • показать все, что скрытоВисокосность проёбана. И почему декабрь отменили?
      p.s. кстати, запятую можно было и не комментить.
      Ответить
    • показать все, что скрытопроблемы с устным счетом?
      Ответить
    • А нельзя было ли сохранить {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} и посчитать остальное?
      Ответить
      • показать все, что скрытоВ настолько байтоебском коде - нет. Это же лишний код и лишние такты. А тут все байтики заранее расссчитаны компилятором.
        Ответить
        • показать все, что скрытоАвтор данной портянки даже не слышал о перфомансе, а перфоманса в данной портянке нет, и даже намёка на него.


          Автор либо делфист, либо что-то иное, но похожее на делфиста. Обычная попытка написать куллхацкерский код, не понимая вообще того, что пишешь.
          Ответить
          • показать все, что скрыто> Автор данной портянки даже не слышал о перфомансе
            Автор этого комментария даже не слышал о сарказме. Обычная попытка написать комментарий, не понимая вообще того, что пишешь.
            Ответить
            • показать все, что скрытоДа всё я понял, да и не в этом дело. Я написал коммент с целью развития событий, авось анскильные делфисты будут не тихо минусовать, а пойдут на контакт. Это даст нам новые лулзы и оживит комменты.
              Ответить
              • показать все, что скрытоперевелись дельфисты то :(
                набрасывай на аду
                Ответить
                • показать все, что скрыто>набрасывай на аду
                  Так багланд вроде не трогал её своими грязными лапами, плюс в аде пофиксили всё что сильно раздражало.
                  И прежде чем набрасывать надо знать предмет.
                  Ответить
                  • показать все, что скрыто> надо знать предмет
                    шах и мат
                    Ответить
                  • показать все, что скрытоВ Аде кой-то сломали
                    if A and B - полная проверка
                    if A and then B - неполная проверка
                    Какого хуя?!
                    Ответить
                    • показать все, что скрытоПодожди. Также и задумывалось.
                      AND - &
                      And Then - &&
                      Не зря же там Then.
                      Как и A Or Else B.
                      Ответить
                      • показать все, что скрытоА так мнемоничнее получается: «and then» и «or else» подсказывают, в каком случае будет вычисляться второй аргумент.

                        Не то, что Дельфи и ТП, где вычисления можно сломать опцией «Complete boolean eval», или сишка, где && и || зачем-то выполняют неявное приведение аргументов к булевому типу.
                        Ответить
                        • показать все, что скрытоСогласен.
                          Повторю сказанное в другом треде. В сишкоблядских вообще для условий следовало сделать операнды AND/OR/XOR/NOT, которые считают их по короткой схеме.
                          А для чисел оставить побитовые. И _запретить_ делать на числах AND/OR, а на условиях побитовое.
                          PS в VB.NET тоже кажись ввели AndThen/OrElse.
                          Ответить
                        • показать все, что скрыточто не так с сишкой (я думаю, имеется в виду с++)?
                          к чему еще надо приводить вычисляемый в данный момент аргумент логической операции?
                          он же не все аргументы приводит, а только те, чей результат необходим:
                          http://ideone.com/FBRyl1
                          Ответить
                      • показать все, что скрытоПросто меня бесит, что короткое and оставили для случая, который нахуй не нужен в 99% случаев, а длинное and then оставили для как раз самого нужного случая.
                        Сделали бы лучше and неполное, а and necessarily полное.
                        Ответить
                        • > для как раз самого нужного случая
                          А вот хуй. Вариант без short-circuit он надежнее и безопаснее в плане побочных эффектов - они всегда выполняются, и не зависят от результата предыдущих частей выражения. Имхо поэтому в аде его и поставили на первое место, а ориентированные на производительность and then и or else заставили писать явно.
                          Ответить
                          • особенно надежными становятся конструкции if (p && p->foo())
                            Ответить
                            • Эта конструкция — суррогат, потому что здесь не конъюнкция, а два последовательных ифа:
                              if (p) {if (p->foo()) ...}
                              Гораздо нагляднее, чем &&, здесь была бы такая запись:
                              if (p and then p->foo())
                              Да, в приведённых фрагментах неявное приведение p к логическому типу в первом условии. Новичку неочевидно, что это проверка на неравенство нулю.

                              P.S. И всё-таки два ифа универсальнее, т. к. при наличии else позволяют разделить ситуации !p и !(p->foo()).
                              Ответить
                              • > в приведённых фрагментах неявное приведение p к логическому типу в первом условии
                                проверка на неравенство нулю - это не приведение к логическому типу
                                а если новичок не знает и сишки (где логического типа изначально не было совсем), то что и говорить
                                Ответить
                          • Проблема в том, что у меня очень очень много конструкций типа
                            if Valid(x) and Condition(x), и второе может просто вылететь из-за неверного x.
                            И нахрена мне выражения, которые всегда выполняются?
                            Ответить
                            • > и второе может просто вылететь из-за неверного x
                              Вот и пиши and then. Тогда сразу понятно, что второе выражение будет выполняться только если первое выполнилось. Ты ведь не хочешь мне сказать, что short-circuit and в такого рода выражениях - настоящая конъюнкция? ;)

                              Имхо в аде правильно поступили, что не стали отдавать short-circuit'ность на откуп опций компилятора или ставить ее по дефолту.
                              Ответить
                              • > Вот и пиши and then
                                Так у меня ж давно рефлекс не писать and then и при написании выражений думать по короткой схеме.
                                Ответить
                                • Рефлексы — зло. Настоящая конъюнкция должна быть коммутативна. Мы ведь при написании умножения не думаем о том, что второй множитель не должен вычисляться, если первый равен нулю?
                                  Ответить
                                • > при написании выражений думать по короткой схеме
                                  Не полагайся на short-circuit Тарасушка, крестоблядью станешь.
                                  Ответить
              • показать все, что скрытоАвтор сишник же, конечно. Почему? Ну потому что мне так показалось.
                Ответить
        • А как же шаблоны?
          Ответить
    • показать все, что скрытоПо минусам сразу видно - сюда заходят олскульные хакеры.
      Ответить
      • Да нет, минусы тут - дело рук ньюскульной школоты.
        Ответить
        • показать все, что скрытоНе обязательно. Ведь может же такое быть что юрий нестеренко сделал себе 15 ботов, под которыми заходит и минусует.
          Ответить
          • Делать ему больше нехуй. Тотальное минусование тут за несколько дней до этой публикации началось. Он же не пророк, в конце-концов, чтобы начать минусовать задолго до того, как я опубликую его код? :)
            Ответить
      • показать все, что скрытоВ современном мире освоить написание скриптов может даже обезьяна.
        Ответить

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