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

    +161

    1. 1
    $period = in_array($bullRegionId,array_keys($periods)) ? $periods[$bullRegionId]['text'] : $periods['default']['text'];

    Интересна сама проверка на существование ключа, не правда ли? :-)
    Код мой. Коллега учуял, что от него несколько плохо пахнет и предложил запостить сюда))

    Nemoden, 09 Сентября 2011

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

    +153

    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
    function resetIsetSorting()
    	{
    		$db = 'i_set';
    		$co = -1;
    		$q = $this->db->get($db);
    		$r = $q->result();
    		foreach($r as $row)
    		{
    			$co++;
    			$upd['sort'] = $co;
    			$this->db->where('id_set', $row->id_set); 
    			$this->db->update($db, $upd);	
    		}
    	}
    	function isetSortExchange($sort, $canBeSort)
    	{
    		$db = 'i_set';
    		$bigNumber = 1470000;
    		$this->db->where('sort', $canBeSort);
    		$q = $this->db->get($db);
    		if ($q->num_rows() == 1)
    		{
    			$upd['sort'] = $bigNumber;
    			$this->db->where('sort', $canBeSort); 
    			$this->db->update($db, $upd);	
    			//
    			$upd['sort'] = $canBeSort;
    			$this->db->where('sort', $sort); 
    			$this->db->update($db, $upd);
    			//
    			$upd['sort'] = $sort;
    			$this->db->where('sort', $bigNumber); 
    			$this->db->update($db, $upd);
    		}
    	}

    Первая функция призвана обновить поле sort на уникальные последовательные значение. Сначала хотел провернуть такое дело на SQL в PHPmyADMIN, но мозгов моих оказалось мало, и я сделал это на CodeIgniter. Говнокод ли это?

    Вторая функция призвана для обмена значениями полей sort. Это нужно для сортировки чего либо в баз. Чутьё мне подсказывает что это можно проделать каким-то белее правильным путём, без использования $bigNumber = 1470000; (а вдруг количество строк достигнет этого числа??!!). Говнокод ли это?

    Всё рабочее, только что проверил. Свежий код, только что написан!

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

    Комментарии (4)
  3. JavaScript / Говнокод #7812

    +161

    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
    <select onchange="goTo();" id="navSelect">
    <option value="/way_to_hell/">Вопросы-ответы</option>
    .
    .
    .
    </select>
    
    <script>
    function goTo()
    {
      var objSel = document.getElementById("navSelect");
      window.location = objSel.options[objSel.selectedIndex].value;
    }
    
    </script>
    
    
    
    //можно вообще вот так:
    <select onchange="window.location = this.options[this.selectedIndex].value">

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

    Комментарии (12)
  4. 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)
  5. PHP / Говнокод #7810

    +173

    1. 1
    define("RANDOM_NUM", rand(0, 10000000));

    поясню: кодер думал, что каждый раз будет вызываться функция и генерить новое число, т.к. в коде далее идет ее использование как уникального идентификатора. Скорее всего, это один из первых скриптов того, кто писал.

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

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

    +176

    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
    <a id="hide" href ="javascript:
    var text = $('#ccc').html();
    function hide(){
        $('#ccc').html('');
        $('#hide').attr('href', 'javascript: show(); ');
    }
    function show(){
        $('#ccc').html(text);
        $('#hide').attr('href', 'javascript: hide(); ');
    }
    hide();
    ">Скрыть/Показать</a>
    
    <div id="ccc">скрываемвый текст</div>

    Я думаю комментарии излишни. Я считаю что это идеальный говнокод. И отличная замена $('#ccc').toggle();

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

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <?
    if($page!='/volga' && $page!='/volga/index.php'){
    // Тут всякий код
    } if($page=='/volga' or $page=='/volga/index.php'){?>
    // И тут тоже	
    <?}?>

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

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

    +66

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Integer obj = (Integer)dump.get("size");
            if(obj == null) {
                return;
            }
            int size = obj;
            for(int i=0; i<size; i++) {

    Самое странное, что автор явно знает, что такое автобоксинг, но всё равно использовал его коряво.

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

    Комментарии (18)
  9. Java / Говнокод #7806

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    public abstract class Data {
    		// The tone of Commander Riker's voice makes me suspect that
    		// he is not serious about finding Ambassador T'Pel charming.
    		// My experience suggests that in fact he may mean the exact
    		// opposite of what he says. Irony is a form of expression
    		// I have not yet been able to master.

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

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

    +84

    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
    Query q;
          //для хэширования
    
          q =
             session.createQuery("select idElType from " + LinkToAtributeValue.class.getName()
             + " where idEl=" + idObject.toString());
    
          Vector<Integer> vec = new Vector<Integer>(q.list());
          int t;
          for(int i = 0; i < vec.size() - 1; i++) {
             t = vec.get(i);
             for(int j = i + 1; j < vec.size(); j++) {
                if(t == vec.get(j)) {
                   vec.remove(j);
                }
             }
          }

    "DISTINCT для трусов"
    или
    "Хорошего кода должно быть много"

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

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