1. PHP / Говнокод #15703

    +158

    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
    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
    <?php
    	$month = date("m", strtotime($model->order->created));
    	
    	if($month==01){
    		$month = "января";
    	}elseif($month==02){
    		$month = "февраля";
    	}elseif($month==03){
    		$month = "марта";
    	}elseif($month==04){
    		$month = "апреля";
    	}elseif($month==05){
    		$month = "мая";
    	}elseif($month==06){
    		$month = "июня";
    	}elseif($month==07){
    		$month = "июля";
    	}elseif($month==08){
    		$month = "августа";
    	}elseif($month==09){
    		$month = "сентября";
    	}elseif($month==10){
    		$month = "октября";
    	}elseif($month==11){
    		$month = "ноября";
    	}elseif($month==12){
    		$month = "декабря";
    	}
    ?>

    Это facepalm!

    Запостил: jonasas, 08 Апреля 2014

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

    • Это пхп, детка
      Ответить
    • > 08
      > 09
      Вот это фейспалм ;)
      Ответить
      • зато код выровнен

        ИЧСХ, PHP хавает: http://ideone.com/MjZgaf
        Ответить
        • Жесть. (давно) Пора открывать сайт говноязык.ру.

          В третьем питоне, например, такие восьмеричные литералы вообще выпилили, от греха подальше, замених их подобным: 0o666.
          Ну и второй на 08 кидает SyntaxError.
          Ответить
    • И ещё один экспонат для dates.govnophp.ru...
      Ответить
    • if($month==00){
      $month = "нулября";

      Версия для джавки.
      Ответить
      • else $month = "дефолтобря";
        Ответить
        • Да здесь и без этого говна хватает :)

          http://ideone.com/yzEVaj
          Ответить
          • 20520KB
            Сложные программы требуют внушительных объемов памяти.
            Ответить
            • Да: http://ideone.com/II6X1l
              Ответить
              • как на счет GO 32bit на венде?:)
                Ответить
                • А что с ним? Памяти вообще не хватает?
                  Ответить
                  • P.S. Йибать... Го при старте жрет 512 метров адресного пространства одним куском... Автор этого кода явно ненавидит 32 битные оси и хочет побыстрее их закопать ;)
                    Ответить
                    • > адресного пространства
                      Памяти?
                      Ответить
                      • > Памяти?
                        Адресного пространства. Ну короче место под странички забивает, а сами странички еще ни в памяти ни в свопе не размещены. Их туда пристегнут позже, когда память все-таки понадобится.
                        Ответить
                        • Ради прикола попробовал замапить 64 терабайт /dev/zero в память. Получилось. top показывает, что размер процесса 64 терабайта.
                          Ответить
                          • я наблюдал похожую картину на живом приложении. Выяснилось, что кто-то не знал, что замапленные в память файлы нужно отмапливать...
                            Ответить
                            • да чтоб ему на жабке кодить, она поджидает таких долбоебов с ее потолком памяти
                              Ответить
                              • Потолок памяти на mmap тоже распространяется? Я думал, там лимит чисто на кучу.
                                Ответить
                                • -Xms<size> set initial Java heap size
                                  -Xmx<size> set maximum Java heap size
                                  -Xss<size> set java thread stack size
                                  Ответить
                          • Хм, а /dev/zero разве не символьное устройство? Разве не блочные устройства можно мапать? Что-то у меня баттхерт ;)
                            Ответить
                            • https://github.com/torvalds/linux/blob/ce7613db2d8d4d5af2587ab5d7090055c4562201/drivers/char/mem.c#L784
                              Я так думаю, различие между блочными и символьными устройствами больше историческое.
                              Ответить
                              • Не ну я же не могу замапать /dev/ttyS0? :) У него то всяко нужных операций нет.
                                Ответить
                                • Конечно. Наверняка есть устройства, где read/write-то нет, только ioctl. Я лишь хотел сказать, что набор доступных операций в общем случае не зависит от символьности или блочности.
                                  Ответить
                          • Не понял, как это ты так замапил? По моейму мнению - мапить это когда ты выделяешь буфер и в него копируешь данные.
                            Ответить
                            • гугли mmap / CreateFileMapping
                              http://msdn.microsoft.com/en-us/library/windows/desktop/aa366556(v=vs.85).aspx
                              Ответить
                            • https://github.com/hishamhm/htop/issues/40
                              В конце есть простенький код на Питоне. Можно ли провернуть что-то подобное на винде - не уверен.
                              Ответить
                              • > Можно ли провернуть что-то подобное на винде - не уверен.
                                Скорее да чем нет. VirtualAlloc с MEM_RESERVE должен проканать.
                                Ответить
                    • ну, линуксоиды утверждают, что во всем виновата венда, что 512 метров резервировать одним куском это хорошая практика :)
                      Ответить
                      • В линухе у сошек походу тупо нет предполагаемого адреса загрузки. Поэтому она посреди адресного пространства их и не пихает.

                        А практика - говно какое-то. Вдруг мне надо больше 512 метров юзать? Как тогда поступать? Резервировать гиг, и надеяться, что его хватит?
                        Ответить
                        • нет-нет-нет, она резервирует 512 метров сразу же при старте, пусть хоть там будет hello world.
                          линуксоиды уверяют, что проблема в том, что венда когда загружает что-то в память, то делает это непоследовательно, и быть может там и есть гиг памяти, но кусками. короче бред :)
                          кстати говоря, а почему тут нет GO? хотелось бы посмотреть на его ГК :)
                          Ответить
                          • > венда когда загружает что-то в память, то делает это непоследовательно, и быть может там и есть гиг памяти, но кусками, короче бред
                            Дык почему бред? Там же в дллках предполагаемый адрес загрузки пишется, и если винда может по нему загрузить - она по нему и загрузит. Вот только интересно - если включить ASLR, то бага поди пройдет? Ведь ASLR забивает на эти предположения, и тупо размещает куда хочет, и скорее всего почти подряд...
                            Ответить
                            • мне кажется у них один ответ "вендапроблемы, переходите на 64 бита" :)
                              Ответить
    • http://ideone.com/WZ3jNo
      Ответить
      • Говно не меньшее чем в топике. Да и для других языков потом хер исправишь ;)
        Ответить
        • Ну а как тогда?
          Ответить
          • Ну я бы тупо написал массив с января, февраля и т.п. И функцию, которая тупо берет из него значение или кидает экцепшн. Дешево и сердито ;) И логика простая и прозрачная.

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

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