1. Лучший говнокод

    В номинации:
    За время:
  2. ActionScript / Говнокод #13787

    −121

    1. 1
    if(!(plant is CropBase && !(plant is TreeBase)))

    Гениально-простое построение выражения

    strax, 13 Сентября 2013

    Комментарии (10)
  3. Perl / Говнокод #13671

    −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
    sub get_number_from_possible_b64
    {
            my $s = shift;
    
            my $rv = $s;
    
            if( $s =~ /^\d+$/ )
            {
                    $rv = int( $s );
    
            } elsif( $s =~ /=$/ )
            {
                    $rv = decode_base64( $rv );
            }
    
            return $rv;
    }

    Где-то есть что-то, что либо цифорка, либо строка, оканчивающаяся на знак равенства.

    kainwinterheart, 27 Августа 2013

    Комментарии (10)
  4. Java / Говнокод #13627

    +76

    1. 1
    2. 2
    3. 3
    4. 4
    // date - java.util.Date
    SimpleDateFormat formatY = new SimpleDateFormat('yyyy')
    SimpleDateFormat format = new SimpleDateFormat('dd.MM.yyyy')
    Date dateFrom = format.parse('01.01.' + (Integer.valueOf(formatY.format(date)) - 3))

    Вот как надо вычитать 3 года от даты

    smpl, 20 Августа 2013

    Комментарии (10)
  5. C++ / Говнокод #13558

    +21

    1. 1
    typedef void *(*internalPointer) (const std::map<std::string, std::pair<const void*  volatile* const, void* const *> > (*FuncPointer)(volatile const int&, const char *const, const void *const *const (*FuncArg)(const std::vector<std::string>&)), void * const *, volatile int&, int * (*FuncArg2) (const std::string&, const std::vector<void>*) );

    thereisnosun, 06 Августа 2013

    Комментарии (10)
  6. JavaScript / Говнокод #13542

    +150

    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
    function write_text(){p = "";
    var mhour = newDate().getHours(); 
    if (hour>=4 && hour <10) {p = "ое утро"} else if (hour>=10 && hour <16) {p = "ый день"} else if (hour>=16 && hour <22) {p = "ый вечер"} else if (hour>=22 && hour <04) {p = "ой ночи"};
    a = document.getElementById("result");
    pre = document.getElementById("pre") + " ";
    n = document.getElementById("name");
    patr = " " + document.getElementById("patronymic");
    s = document.getElementById("surname");
    b = document.getElementById("birthdate");
    if (n.value!=="" && s.value!=="" && b.value!==""){a.innerHTML="Подождите, пожалуйста...";t=setTimeout('a.innerHTML="Добр"+p+", "+pre+s+"! Мы рады приветствовать Вас на этой странице! Она прекрасна, не так ли? Но, к сожалению, её полезность равна нулю, о чём мы очень сильно скорбим. Единственное, что мы могли бы сделать для Вас, "+n+", — это сообщить Вам Вашу же дату рождения: ею является "+b+".<br>До скорого, "+n+patr"!"',1750)} else
    if (n.value!=="") {a.innerHTML="Введите своё имя!";t=setTimeout('a.innerHTML="Ждём ввода данных..."',2000)} else
    if (s.value!=="") {a.innerHTML="Введите свою фамилию!";t=setTimeout('a.innerHTML="Ждём ввода данных..."',2000)} else
    if (b.value!=="") {a.innerHTML="Введите свой день рождения!";t=setTimeout('a.innerHTML="Ждём ввода данных..."',2000)} else
    {a.innerHTML="Заполните все поля!";t = setTimeout('a.innerHTML="Ждём ввода данных..."',2000)}}
    
    
    
    
    
    
    
    
    ) {a.innerHTML=

    Хотел было удалить ко всем баянам, но вспомнил - это же говнокод! Пришлось запостить сюда :(

    parzh, 03 Августа 2013

    Комментарии (10)
  7. 1C / Говнокод #13518

    −172

    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
    Наименование=Выборка.Наименование;
    АдресМестонахождения=Выборка.АдресМестонахождения;
    ВнешнийОбъект=Выборка.ВнешнийОбъект;
    ДатаВводаВЭксплуатацию=Выборка.ДатаВводаВЭксплуатацию;
    ДатаВыпуска=Выборка.ДатаВыпуска;
    ДоговорКонтрагента=Выборка.ДоговорКонтрагента;
    ЗаводскойНомер=Выборка.ЗаводскойНомер;
    Изготовитель=Выборка.Изготовитель;
    ИнвентарныйНомер=Выборка.ИнвентарныйНомер;
    КодРегиона=Выборка.КодРегиона;
    КодПоОКОФ=Выборка.КодПоОКОФ;
    Комментарий=Выборка.Комментарий;
    Контрагент=Выборка.Контрагент;
    КонтрагентИсполнительРемонта=Выборка.КонтрагентИсполнительРемонта;
    НомерПаспорта=Выборка.НомерПаспорта;
    ОбъектОсновныхСредств=Выборка.ОбъектОсновныхСредств;
    Организация=Выборка.Организация;
    ПлановыйГрафикРаботы=Выборка.ПлановыйГрафикРаботы;
    Подразделение=Выборка.Подразделение;
    ПодразделениеИсполнительРемонта=Выборка.ПодразделениеИсполнительРемонта;
    Приоритет=Выборка.Приоритет;
    РемонтнаяГруппа=Выборка.РемонтнаяГруппа;
    СрокПолезногоИспользования=Выборка.СрокПолезногоИспользования;
    ТехНомер=Выборка.ТехНомер;
    ТипОборудования=Выборка.ТипОборудования;
    ЭтоГруппаОбъектов=Выборка.ЭтоГруппаОбъектов;

    "Архитектор" явно не был знаком с методом ЗаполнитьЗначенияСвойств()

    doom2good, 31 Июля 2013

    Комментарии (10)
  8. Java / Говнокод #13482

    +111

    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
    public class PmsUtil {
    	
    	public static boolean allowViewFolder(IFolder folder) {
    		return isIntersected(folder.getPermissions(), getUserPms());
    	}
    
    	private static Set<Permission> getUserPms() {
    		return LoginController.get().getUser().getRole().getPermissions();
    	}
    
    	private static boolean isIntersected(Set<Permission> pmsSetA, Set<Permission> pmsSetB) {
    		for(Permission pms : pmsSetB) {
    			if(pmsSetA.contains(pms)) {
    				return true;
    			}
    		}
    		return false;
    	}
    
    	
    }

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

    someone, 26 Июля 2013

    Комментарии (10)
  9. PHP / Говнокод #13473

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if( $yandexXML==false ){
       //...
    }
    elseif( $yandexXML==true ){
       //...
    }

    не ну а вдруг как бы че

    CRRaD, 25 Июля 2013

    Комментарии (10)
  10. Си / Говнокод #13461

    +134

    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
    30. 30
    #include <stdio.h>
    #include <stdint.h>
    #include <string.h>
    #include <inttypes.h>
    
    union Str
    {
       uint64_t a;
       char  str[8];
    };
    
    int main(void)
    {
      union Str str;
      memcpy( &str.str, "12345678", sizeof(str.a));
    
    
    str.a = ((str.a & 0x0F000F000F000F00)>>8) +
            ((str.a & 0x000F000F000F000F)*10);
    
    str.a = 1000000 * ((str.a >> 0 ) & 0xFF) +
              10000 * ((str.a >> 16) & 0xFF) +
                100 * ((str.a >> 32) & 0xFF) +
                      ((str.a >> 48) & 0xFF);
    //little-endian only. Можно переделать под big-endian
    
    printf("%"PRIu64, str.a);
    
    return 0;
    }

    Байтоебское преобразование строки из 8 цифр(в виде ascii символов) в число

    j123123, 21 Июля 2013

    Комментарии (10)
  11. Куча / Говнокод #13452

    +124

    1. 1
    2. 2
    3. 3
    // Просрока быть недолжно.
            // Если нет платежа, то будет исключение.
            // Оба эти случая логически исключены, если медот не дергать в неположеном месте.

    dimkich, 19 Июля 2013

    Комментарии (10)