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

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

    +159

    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
    function validateForm(form){
    	if (isNotEmpty(form.fa)){
    		if (isColvo(form.fa,3)){
    			if (isNotEmpty(form.im)){
    				if (isColvo(form.im,2)){
    					if (isNotEmpty(form.ot)){
    						if (isColvo(form.ot,3)){
    							if(isNotEmpty(form.day)){
    								if(isNumbr(form.day)){
    									if(isNotEmpty(form.month)){
    										if(isNumbr(form.month)){
    											if(isNotEmpty(form.year)){
    												if (isColvo(form.year,4)){
    													if(isNumbr(form.year)){
    														if(isNotEmpty(form.city)){
    															if(isNotEmpty(form.road)){
    																if(isNotEmpty(form.house)){
    																	if(isNumbr(form.house)){
    																		return true;
    																	}
    																}
    															}
    														}
    													}
    												}
    											}
    										}
    									}
    								}
    							}
    						}
    					}
    				}
    			}
    		}
    	}
     return false;
    };

    http://национальныйзакон.рф

    lads, 01 Марта 2013

    Комментарии (16)
  3. Куча / Говнокод #12662

    +119

    1. 1
    Dummy commit for the sake of documentation (previous commit was made without a message)

    someone, 28 Февраля 2013

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

    −117

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Функция НайтиТовар(Наименование)
    	Запрос = Новый Запрос("ВЫБРАТЬ Ссылка, Наименование ИЗ Справочник.Номенклатура ГДЕ НЕ ПометкаУдаления");
    	Выборка = Запрос.Выполнить().Выбрать();
    	Пока Выборка.Следующий() Цикл
    		Если СокрЛП(ВРег(Выборка.Наименование))=ВРег(Наименование) Тогда
    			Возврат Выборка.Ссылка;
    		КонецЕсли;
    	КонецЦикла;
    КонецФункции

    и все это вызывается в цикле

    BlackMamba, 25 Февраля 2013

    Комментарии (16)
  5. JavaScript / Говнокод #12634

    +150

    1. 1
    <a href="javascript: document.location.href = document.location.href;" onclick="s_objectID=&quot;javascript: document.location.href = document.location.href;_1&quot;;return this.s_oc?this.s_oc(e):true">Нажмите здесь, если сканирование не закончилось.</a>

    document.location.href = document.location.href

    TRANE73, 22 Февраля 2013

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

    +88

    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
    //До рефакторинга
    static function initConnectOnce(){
        $who = get_called_class();
        if(!$GLOBALS[$who][class_cllct]){
            $db = new DataBase();
            $GLOBALS[$who][class_cllct] = $db->selectCollection(get_called_class());
        }
        return $GLOBALS[$who][class_cllct];
    }
    //После
    public static function initCollectOnce(){
        $who = get_called_class();  
        $cllct = &self::$cacheCollect[$who];
        if(!$cllct){
            $db = new DataBase();
            $cllct = $db->selectCollection($who);
        }
        return $cllct;
    }

    Недавно начал рефакторить свой же код. Нашел такой вот незаметный гавнокод...
    Для тех кто в танке =)
    1. selectCollection(get_called_class()) - зачем вызывать по второму разу, если результат уже есть в переменной $who.
    2. $GLOBALS[$who][class_cllct] - немного глюкнуло наверное, когда писал... Логичнее так $GLOBALS[class_cllct][$who].
    3. initConnectOnce - тут даже наверное не Connect должно быть, а Collect.
    4. Вместо $GLOBALS[$who][class_cllct] лучше(имхо) заюзать статичное свойство для класса.
    5. static function initConnectOnce - забыл public описать....

    haker, 11 Февраля 2013

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

    +111

    1. 1
    2. 2
    for(p=first; p!=NULL; p=p->next)
      free(p);

    Освобождаем память всех элементов списка.

    taburetka, 26 Декабря 2012

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

    +18

    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
    /*
     *      The use of singletons for globals makes globals not
     *      actually be initialized until it is first needed, this
     *      makes the library faster to load, and have a smaller
     *      memory footprint
     */
    
    #define json_global_decl(TYPE, NAME, VALUE)                              \
    class jsonSingleton ## NAME {                                            \
    public:                                                                  \
            inline static TYPE & getValue() json_nothrow {                   \
                    static jsonSingleton ## NAME single;                     \
                    return single.val;                                       \
            }                                                                \
    protected:                                                               \
            inline jsonSingleton ## NAME() json_nothrow : val(VALUE) {}      \
            TYPE val;                                                        \
    }
    
    #define json_global(NAME) jsonSingleton ## NAME::getValue()              \
    
    json_global_decl(json_string, CONST_TRUE, JSON_TEXT("true"));
    json_global_decl(json_string, CONST_FALSE, JSON_TEXT("false"));
    json_global_decl(json_string, CONST_NULL, JSON_TEXT("null"));
    
    /* Использование */
    json_global(ERROR_NULL_IN_CHILDREN)

    Наткнулся на утечку памяти, отловленную Valgrind'ом
    А внутри вот это. И главное, совершенно непонятно, зачем воротить эту свистопляску, если линкеры умеют распознавать "true" по всюду (читаем про ROMability тут: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1396.pdf )
    http://stackoverflow.com/questions/690176/c-c-optimization-of-pointers-to-string-constants

    Сам код отсюда: http://code.google.com/p/wot-replay-parser/source/browse/libjson/Source/JSONGlobals.h

    myaut, 10 Декабря 2012

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

    +140

    1. 1
    2. 2
    Здравствуйте, господа!
    Кто знает, как выяснить свободный порт виртуальной машины средствами PHP?

    Govnisti_Diavol, 06 Декабря 2012

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

    +49

    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
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    function preDispatch() {
            
    		
    		
    		
    		// Validate and redirect
            try {
                $this->_DB = Zend_Db_Table::getDefaultAdapter();
                $time = $this->_DB->query('SELECT time FROM `CapturesList` WHERE InnerLink = \'' . $_SERVER['REQUEST_URI'] . '\' LIMIT 0,1;')->fetchAll();
    
    
    		@$this->view->time = $time[0]['time'];
    
    
                if ($time[0]['time'] != NULL) {
                    $times = split(', ', $time[0]['time']);
                    if (strtotime(($times[1]) . '/' . ($times[2]) . '/' . $times[0] . ' ' . $times[3] . ":00") < (int) (mktime())) {
                        if (strtotime(($times[1]) . '/' . ($times[2]) . '/' . $times[0] . ' ' . $times[3] . ":00") > 1347032555) {
                            $count = $this->_DB->query('SELECT *, COUNT(time) AS counts FROM `CapturesList` WHERE time IS NOT NULL;')->fetchAll();
                            $count = $count[0]['counts'];
                            @$newdate = strftime("%G, %m, %d, %H", strtotime(($times[1]) . '/' . ($times[2]) . '/' . $times[0] . ' ' . $times[3] . ":00 +" . ((int)($count / 2) + 1) . " weeks"));
                            @$this->_DB->query('UPDATE `CapturesList` SET `time` = \'' . ($newdate) . '\' WHERE InnerLink = \'' . $_SERVER['REQUEST_URI'] . '\';');
                            @$this->view->time = $newdate;
                        }
                        else{@$this->view->time = $time[0]['time'];}
                    } else {
                        @$this->view->time = $time[0]['time'];
                    }
                } else {
                    @$this->view->time = "NULL";
                }
            } catch (Exception $exc) {
                echo $exc->getTraceAsString();
                @$this->view->time = "NULL";
            }
    
    
    
            header('Refer: ' . $this->view->linktofunnel);
            if (session_id() == '')
                session_start();
            if ($this->_getParam('action') != 'save') {
                $_SESSION["domain"] = $this->view->domain;
                $_SESSION["owner"] = $this->OwnerData;
            }
        }

    Более говнокодного я давно не писал. Кажется я схожу с ума

    Stud, 06 Декабря 2012

    Комментарии (16)
  11. Objective C / Говнокод #12157

    −110

    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
    -(void) setEditing:(BOOL)editing animated:(BOOL)animate
    {
        if (indexDeleting != nil)
        {
            [[self.tableView cellForRowAtIndexPath:indexDeleting] willTransitionToState:UITableViewCellStateDefaultMask];
    //        if ([self.parentView.delegate sortArrayCount] /*dict array count*/ && [self.parentView.delegate editArrayCount:indexP.section]/*[[[dictArray objectAtIndex:section] valueForKey:@"edit"] count]*/)
    //        {
    //            [self.parentView.delegate setDeleteFlag:indexP value:@"0"];
    //        }        
        }
        indexDeleting = nil;
        isDeleting = NO;
        isEditing = editing;
    	[super setEditing:editing animated:animate];
    	
    	if (self.tableView.editing == editing)
    	{
    		[self.tableView setEditing:!editing animated:NO];
    	}
    	
    	[self.tableView setEditing:editing animated:animate];
    	[self.tableView reloadData];
    }

    По выражению парней, вынужденных поддерживать это месиво, "Это еще образец чистоты и элегантности".

    QuickNick, 20 Ноября 2012

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