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

    +940.8

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    bool checkForExe(std::string ext)
    {
        return ext==".exe" ? true : 
                  ext==".Exe" ? true :
                  ext==".eXe" ? true :
                  ext==".EXe" ? true :
                  ext==".exE" ? true :
                  ext==".ExE" ? true :
                  ext==".eXE" ? true :
                  ext==".EXE" ? true : false;
    }

    Нашел в одной моей очень древней программе-шутке. Регистронезависимая проверка на расширение .exe.

    frp, 29 Марта 2010

    Комментарии (48)
  2. PHP / Говнокод #2891

    +148

    1. 1
    implode("','", array('product_gems'))

    почему бы не заменить такое просто строкой...

    darkmyan, 29 Марта 2010

    Комментарии (12)
  3. Java / Говнокод #2890

    +70.8

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    if (tp != null) {
    		DocElement d = (DocElement)tp.getLastPathComponent();
    		if (d.getElementType() == Constants.TYPE_FOLDER) {
    			context.setCursor(DragSource.DefaultMoveDrop);
    		if (d.getElementType()==Constants.TYPE_FOLDER) {
    			tree.setSelectionPath(tp);
    			tree.expandPath(tp);
    		}
    		}else {
    			context.setCursor(DragSource.DefaultMoveNoDrop);
    		}
    	}

    моё, так сказать носом ткнули)
    условие if (d.getElementType()==Constants.TYPE_FOLD ER)

    maxt, 29 Марта 2010

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

    +167.2

    1. 1
    2. 2
    3. 3
    4. 4
    <?php
    class Xml {
    //Эта библиотека УГ, она не требуется
    }

    Волею судеб взялся за поддержку "сайтега", написанного каким-то малограмотным студентом.
    В процессе изучению сорцов я увидел много новых гениальных паттернов и практик, phpMyAdmin без пароля, который лежал прямо в корне и был доступен извне, полное отсутствие ясной мысли и трезого ума.

    Но сегодня наткнулся на класс, который меня просто добил.

    ps. Не формат, просто наболело.

    dig, 29 Марта 2010

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

    +144.8

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    #define THIS_FILE __FILE__
    #define Default 0xFFFFFFFF
    
    void* __cdecl operator new(size_t nSize, LPCSTR lpszFileName, int nLine=Default)
    {
    void * v = ::operator new(nSize, _NORMAL_BLOCK, lpszFileName, nLine);
    return v;
    }
    
    void __cdecl operator delete(void * _P, char*){
    ::delete (_P);
    }

    Какие страсти...

    Говногость, 29 Марта 2010

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

    +169

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <?php 
    function findAttribute($object, $attribute) { 
      foreach($object->attributes() as $a => $b) { 
        if ($a == $attribute) { 
          $return = $b; 
        } 
      } 
      if($return) { 
        return $return; 
      } 
    } 
    ?>

    так человек предлагает возвращать нужный аттрибут из xml ноды.
    http://ru.php.net/manual/en/simplexmlelement.attributes.php#42692

    striker, 29 Марта 2010

    Комментарии (14)
  7. Си / Говнокод #2886

    +143.8

    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
    //...
    int a[65535],i;
    //...
    while(a[i]>0)
    {
    i++;
    a[i]++;
    a[i]++;
    a[i]++;
    a[i]++;
    //еще 60 раз a[i]++;
    i--;
    a[i]--;
    }

    Вот что значит компилятор Brainfuck => C без примитивнейшего оптимизатора.
    (приведенный обрывок кода соответствует [>++++еще 60 плюсов<-])

    frp, 28 Марта 2010

    Комментарии (13)
  8. Ruby / Говнокод #2885

    −116.2

    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
    # TODO: выбросить нахер метод with_company_and_state и правильно написать
    # этот named scope
    named_scope :with_company_and_state_non_uniq, lambda { |company, state|
      { :conditions => [ 'products.company_id = :company_id AND ' +
            'state_mask = :state_mask', { :company_id => company,
            :state_mask => OrderSet::STATES.index(state) || 0 } ],
        :order => 'order_sets.created_at DESC',
        :joins => 'INNER JOIN products' }
    }
    
    def self.with_company_and_state(company, state)
      with_company_and_state_non_uniq(company, state).uniq
    end

    Бывает, что SELECT DISTINCT сделать не всегда возможно. На самом деле, такая выборка сосёт.

    eveel, 28 Марта 2010

    Комментарии (2)
  9. bash / Говнокод #2884

    −133.6

    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
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    nettest() {
      ping -c $1 $2 > /dev/null 2>&1
      if [ "$?" -eq "0" ] ; then
         true
      else
         false
      fi
    }
    
    idroot() {
      if [ "`id -u`" -eq "0" ] ; then
         true
      else
         false
      fi
    }
    
    greenc() {
      printf "\033[1;32;40m$1"
    }
    
    redc() {
      printf "\033[1;31;40m$1"
    }
    
    yellowc() {
      printf "\033[1;33;40m$1"
    }
    
    whitec() {
      printf "\033[1;37;40m$1"
    }
    
    normc() {
      printf "\033[0;37;40m$1"
    }
    
    grayc() {
      printf "\033[1;30;40m$1"
    }

    Мудак который это написал - я :))
    Нужна была небольшая библиотека для скрипта.

    buildworld, 28 Марта 2010

    Комментарии (21)
  10. Python / Говнокод #2883

    −107.8

    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
    response = conn.getresponse()
    data = response.read()
    s_list = list(data)
    i, j = 0, 0
    while i < len(s_list):
    	if s_list[i] == '<':
    		while s_list[i] != '>':
    			s_list.pop(i)
    		s_list.pop(i)
    	elif s_list[i] == '\n':
    		s_list.pop(i)
    	elif s_list[i] == '\t':
    		s_list.pop(i)
    	else:
    		i = i+1
    
    data = str(s_list).replace('\'','').replace(' ','').replace(',','').\
    replace('&nbsp','').replace('SERegistru','').replace('[','').\
    replace(']','').replace(':','').replace(';','').\
    replace('IDNP','').replace('LastName',' ').\
    replace('FirstName',' ').replace('SecondName',' ').replace('Alive',' ')

    Простой парсер HTML странички.. ^_^

    krowler, 28 Марта 2010

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