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

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

    +154

    1. 1
    2. 2
    3. 3
    function isEmptyStr(val) {
        return val == null || val === "";
    }

    glprizes, 01 Августа 2012

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

    −124

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    > cat 1.pl
    $owner = "Jack";
    print "This is $owner\n";
    print "This is $owner's house\n";
    >  perl 1.pl
    This is Jack
    This is  house

    The old package delimiter was a single quote, but double colon is now the preferred delimiter, in part because it's more readable to humans, and in part because it's more readable to emacs macros. It also makes C++ programmers feel like they know what's going on--as opposed to using the single quote as separator, which was there to make Ada programmers feel like they knew what was going on. Because the old-fashioned syntax is still supported for backwards compatibility, if you try to use a string like "This is $owner's house" , you'll be accessing $owner::s ; that is, the $s variable in package owner , which is probably not what you meant. Use braces to disambiguate, as in "This is ${owner}'s house" .

    bormand, 21 Июня 2012

    Комментарии (42)
  4. PHP / Говнокод #8753

    +163

    1. 1
    2. 2
    3. 3
    if ($linksCount == 0) $linksCount = -1; // for no error
    	$percent = round(($linksOkIndex/$linksCount)*100, 0);
    	if ($linksCount == -1) $linksCount = 0; // for no error

    Я так избегаю деления на ноль -)

    increazon, 06 Декабря 2011

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

    +1002

    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
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    BOOLEAN ConvertSizeToStr(__int64 size,TCHAR *buf,DWORD buf_size_c)
    {
       double dsize;
       HRESULT hr;
     
       dsize=(double)size;
       if (size/1500000000000L>0) 
       {
          dsize/=1099511627776L;
          hr=StringCchPrintf(buf,buf_size_c,_T("%.2lf Тб"),dsize);
       }
       else if (size/1500000000L>0) 
       {
          dsize/=1073741824L;
          hr=StringCchPrintf(buf,buf_size_c,_T("%.2lf Гб"),dsize);
       }
       else if (size/1500000L>0) 
       {
          dsize/=1048576L;
          hr=StringCchPrintf(buf,buf_size_c,_T("%.2lf Мб"),dsize);
       }
       else if (size/1500>0) 
       {
          dsize/=1024;
          hr=StringCchPrintf(buf,buf_size_c,_T("%.2lf Кб"),dsize);
       }
       else
          hr=StringCchPrintf(buf,buf_size_c,_T("%I64d байт"),size);
     
       if (SUCCEEDED(hr))
          return true;
       else
          return false;
     
    }

    Конвертировать байты в КБ/МБ/ГБ

    azote, 05 Декабря 2011

    Комментарии (42)
  6. Java / Говнокод #8255

    +78

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    // inside some method
    final DateFormat dateFormat = i18n.getDateFormat();
    synchronized (dateFormat) {
        formatedViolationDate = (violationDate != null) ?
        dateFormat.format(violationDate) : "";
    }

    i18n.getDateFormat() возвращает статический объект DateFormat, который может использоваться несколькими потоками. В руки бы накласть тому, кто это писал.
    Решение: getDateFormat() возвращает строку формата, объект формата создаем при каждом вызове.

    roman-kashitsyn, 20 Октября 2011

    Комментарии (42)
  7. PHP / Говнокод #7811

    +162

    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
    function validemail($email){
    
     if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email))
    
     return false;
    
    
    
     $email_array = explode("@", $email);
    
     $local_array = explode(".", $email_array[0]);
    
     for ($i = 0; $i < sizeof($local_array); $i++) {
    
      if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i]))
    
      return false;
    
     }

    jQuery, 08 Сентября 2011

    Комментарии (42)
  8. C++ / Говнокод #7338

    +170

    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
    31. 31
    if(SCREEN_WIDTH==800)
    			{
    				fm1 = 62;
    				fm2 = 61;
    				top = 86;
    			}
    
    			if(SCREEN_WIDTH==1024){
    
    				    fm1 = 27;
    					fm2 = 26;
    					top = 78;
    			}
    			if(SCREEN_WIDTH==1680||SCREEN_WIDTH==1920){
    
    				       fm1 = 72;
    			           fm2 = 73;
    					   top = 81;
    			}
    			if(SCREEN_WIDTH==1280 || SCREEN_WIDTH == 2560){
    
    				       fm1 = 76;
    					   fm2 = 75;
    					   top = 77;
    			}
    				
    			if(SCREEN_WIDTH == 1366 || SCREEN_WIDTH == 1440){
    			        fm1=  67;
    			        fm2=  66;
    					top = 79;
    			}

    Это капля в море гавнокода одного из проектов на который меня посадили.
    Чуть менее 1000 багов открыто только по GUI.
    Все это дело рук одной девушки))

    BlaZe, 25 Июля 2011

    Комментарии (42)
  9. C++ / Говнокод #7020

    +188

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    typedef enum
      {
        FFALSE = 0,
        TTRUE,
        MMAYBE
      } Truth_t;

    ну почти квантовое программирование.

    ЗЫ да, это из С++ программы.

    Dummy00001, 21 Июня 2011

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

    +136

    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
    31. 31
    32. 32
    33. 33
    WebKill
    29.11.2007, 11:02
    Я - WebKill
    
    WebKill - это мой псевдоним - начинающего хакера по имени Миша. Мне 15 лет, увлекаюсь компами, кодингом, хаком, и всем что с этим связано. Люблю писать вирусы, которые сбрасывают комп ламера.
    
    Как WebKill знает комп?
    html 95%
    Pasлal 45%
    JawaSkript 21%
    php 18%
    C\C++ 10%
    VBS 15%
    Хакерская догадка 45%
    Компьютерный сленг 45%
    Безопасность хакера 31%
    Хак теория 12%
    Хак софт 5%
    perl 2%
    Асамблер 2%
    Практика 1%
    Всреднем 21%
    Здесь 100% - полное владение языком, умение написать с его помощю прогу любой сложности
    1% - Прога типа HelloWord
    5% - Знание ЯП с помощю которого можно написаь простенькую заподлужку, например удаление системных файлов, создание по диску файлов с разными словами
    
    
    Я, как истинный хакер могу помочь вам хакать. Если вы неумеете, либо ваша хакерская догадка стремится к нулю - Я помогу вам!
    
    Также мне нужны начинающие хакеры (начинающие в моём понимании - это хакер знающий html, JavaScript, паскаль, C\C++, php + теория сетей, желание и мозги. Всё это есть у меня, если ты чего-то не знаешь, не расстраивайся)
    Если ты знаешь комп примерно как я, умеешь сбрасывать комп, то присоединяйся к моей хак группе - webkillgroup. Мы занимаемся совмесным изучением компа.
    
    Свои вопросы можно оставлять в этой теме.

    Деанонимизация ВебКилла. Взято отсюда: http://forum.asechka.ru/archive/index.php/t-100897.html

    Govnocoder#0xFF, 13 Апреля 2011

    Комментарии (42)
  11. JavaScript / Говнокод #4996

    +174

    1. 1
    2. 2
    3. 3
    <script>
       location.href=location.href;
    </script>

    Этот код работает - он обновляет страницу, встречал не раз.
    window.location.reload() все-таки гораздо красивее...

    elCreator, 20 Декабря 2010

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