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

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

    +115

    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
    //1
    directory = WebConfigurationManager.ConnectionStrings[Page.Server.MachineName.ToUpper() + Request.QueryString["number"]].ConnectionString;
    //2
    web.config:
    <connectionStrings>
      <add name="ServerName1" connectionString="D:\bla\incoming\" /> 
      <add name="ServerName2" connectionString="D:\bla\outcoming\" /> 
      ...
     </connectionStrings>
    //3
    function Upload(currFile) {
    if (grafWin == null || grafWin.closed) {
    	grafWin = open('UpLoad.aspx?number=' + currFile,'Attachment','width=300,height=150,scrollbars=no,left=800,top=400');
    	self.name = "winPARENT";
    }
    }
    //4
    <input type="button" name="filePlus1" value=" + " style="visible;" onclick="javascript: Upload('1')">

    1) Сохранение документов на стороне сервера выбор папки назначения
    2) web.config
    3) js-function для вызова страницы
    4) html контрол для вызова страницы которая сохранит документ в папку D:\bla\incoming

    TasmX, 17 Августа 2011

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    var path = [
        (this.gridSetId || this.projection.projCode.replace(":", "_")) + "_" + this.zeroPad(z, 2),
        //this.zeroPad(halfX, digits) + "_" + this.zeroPad(halfY, digits),
    /*
    * ОООООООЧЕНЬ ГРЯЗНО!!!!!!!!!!!!
    * */
        this.zeroPad(halfX, 1) + "_" + this.zeroPad(halfY, 1),
        this.zeroPad(x, 2 * digits) + "_" + this.zeroPad(y, 2 * digits) + "." + this.type
    ].join("/");

    musuk, 12 Августа 2011

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

    +75

    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
    47. 47
    48. 48
    49. 49
    50. 50
    public static boolean checkInt(String value, SocketMessage message,
    			int min, int max, boolean isNullCheck, Settings settings) {
    		if (value == null) {
    			if (!isNullCheck)
    				return true;
    			if (message != null && settings != null)
    				message.addSubMessage(ErrorSubElement.createErrorSubMessage(
    						ErrorSubElement.INVALID_ARGUMENT, "Invalid Int value",
    						settings));
    			return false;
    		}
    
    		if (value.length() > 9) {
    			if (message != null && settings != null)
    				message.addSubMessage(ErrorSubElement.createErrorSubMessage(
    						ErrorSubElement.INVALID_ARGUMENT, "Invalid Int value: "
    								+ value, settings));
    			return false;
    		}
    		try {
    			int val = Integer.parseInt(value);
    			MyLog.d(LOG_TAG, "Check Val:" + val);
    			if (val < min) {
    				if (message != null && settings != null)
    					message.addSubMessage(ErrorSubElement
    							.createErrorSubMessage(
    									ErrorSubElement.INVALID_ARGUMENT,
    									"Invalid Int value: " + value
    											+ " lower than " + min, settings));
    				return false;
    			}
    
    			if (val > max) {
    				if (message != null && settings != null)
    					message.addSubMessage(ErrorSubElement
    							.createErrorSubMessage(
    									ErrorSubElement.INVALID_ARGUMENT,
    									"Invalid Int value: " + value
    											+ " bigger than " + max, settings));
    				return false;
    			}
    			return true;
    		} catch (NumberFormatException e) {
    			if (message != null && settings != null)
    				message.addSubMessage(ErrorSubElement.createErrorSubMessage(
    						ErrorSubElement.INVALID_ARGUMENT, "Invalid Int value: "
    								+ value, settings));
    			return false;
    		}
    	}

    xitx, 10 Августа 2011

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

    +126

    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
    //calculate elapsed time
    TimeSpan elapsed = DateTime.Now - startTime;
    //if a second has elapsed
    if (lastSecond != elapsed.Seconds)
    {
    	//store last second
    	lastSecond = elapsed.Seconds;
    	//get hours
    	string hours;
    	if (elapsed.Hours < 10)
    		hours = "0" + elapsed.Hours.ToString();
    	else
    		hours = elapsed.Hours.ToString();
    	//get minutes
    	string minutes;
    	if (elapsed.Minutes < 10)
    		minutes = "0" + elapsed.Minutes.ToString();
    	else
    		minutes = elapsed.Minutes.ToString();
    	//get seconds
    	string seconds;
    	if (elapsed.Seconds < 10)
    		seconds = "0" + elapsed.Seconds.ToString();
    	else
    		seconds = elapsed.Seconds.ToString();
    	//update label
    	this.lblElapsedTime.Text = "Elapsed time: " + hours + ":" + minutes + ":" + seconds;
    }

    Явно автор сего кода был не знаком со string.format.

    xxxcoderxxx, 10 Августа 2011

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

    +121

    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
    ...
    DateTime dt = new DateTime();
    
    dt = dt.AddYears(deStartDate.DateTime.Year - 1);
    dt = dt.AddMonths(deStartDate.DateTime.Month - 1);
    dt = dt.AddDays(deStartDate.DateTime.Day - 1);
    dt = dt.AddHours(teStartDate.Time.Hour);  
    dt = dt.AddMinutes(teStartDate.Time.Minute); 
    dt = dt.AddSeconds(teStartDate.Time.Second); 
    
    // Массив для хранения результатов проверок...
    bool[] blResults = {false, false};
    
    // Проверка даты и врмени
    if (dt > DateTime.Now)
    {
    	blResults[0] = true;
    }
    // Проверка интервала
    if (seInterval.Value > 0)
    {
    	blResults[1] = true;
    }
    
    // Еслис все проверки были выполнены успешно, то...
    if (blResults[0] && blResults[1])				
    ...

    deStartDate - контрол с выбором даты
    teStartDate - контрол с выбором времени
    В коде было необходимо получить из этих контролов точное время запуска службы.
    Орфография комментариев сохранена :-)

    BaranovskiyNE, 03 Августа 2011

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

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    try
    {
        if (empty($this->kinds) && $this->kinds !== false)
            throw new Exception('', 1);
    }
    catch (Exception $e)
    {
        if (empty($this->kinds))
        $this->kinds = false;
    }

    Забавное использование try catch, почти goto

    sectronov, 29 Июля 2011

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

    +147

    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
    private function getExperts($where = '') {
    		if ($where) {
    			$where = "WHERE $where";
    		}
    		$query = "SELECT * FROM $this->expertsTable $where";
    		$experts = self::$DB->select($query);		
    		
    		// workarround кривой структуры бд
    		// выбрасываем повторяющихся экспертов
    		$experts_unique = array();
    		foreach($experts as $expert)
    		{
    			$key = md5($expert['expertName'].$expert['photo'].$expert['text']);
    			if(!isset($experts_unique[$key])) 
    				$experts_unique[$key] = $expert;
    		}
    		return array_values($experts_unique);
    	}

    odmin, 29 Июля 2011

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

    +164

    1. 1
    2. 2
    if ($user_id){ $user_sql = "(c.user_id=$user_id OR c.session_id='$sid')"; } else { $user_sql = "(c.user_id=0 AND c.session_id='$sid')"; }
    $sql = "SELECT i.title as title, i.price as price, c.itemscount as itemscount, i.category_id as category_id FROM cms_uc_cart c, cms_uc_items i WHERE c.item_id = i.id AND $user_sql";

    Все гениально и просто б#я! InstantCMS. Пол движка с подобными условиями. Писали школьники?! Видимо да ;(
    P.S Соре просто с г#вном пришлось работать. Чувствую себя фермером 0_0

    invision70, 07 Июля 2011

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

    +147

    1. 1
    2. 2
    3. 3
    cout<<"enterX"<<endl;
         cin >>x;
    x = 0.125;

    yasosiska, 27 Июня 2011

    Комментарии (1)
  11. ActionScript / Говнокод #6691

    −112

    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
    private function getListenerIndex(func:Function):Number
    {
    	var num:Number = -1;
    	
    	for(var i:int = 0; i < mouseWheelListeners.length; i++)
    	{
    		if(func == mouseWheelListeners[i])
    		{
    			num = i;
    			break;
    		}
    			
    	}
    	return num;
    }
    
    public function addMouseWheelListener(subscriberFunc:Function):void
    {
    	if(getListenerIndex(subscriberFunc) == -1)
    		mouseWheelListeners.push(subscriberFunc);
    }

    Отдельного внимания заслуживает тот факт, что человек решил, что индексов в массиве не будет больше чем максимальное цело 32-битное знаковое, и не меньше чем минимальное, а вернул все равно Number. (Для не разбирающихся в AS3 есть Array.indexOf(), метод который делает то, что делает getListenerIndex() в данном примере, только быстрее, и называется по-человечески. Но автор считает, что мануал написан для идиотов...)

    wvxvw, 17 Мая 2011

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