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

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

    +146

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    var returnValue = false;
    
    bool result = doSomething();
    if (!result)
    {
    return returnValue;
    }
    
    returnValue = true;
    return returnValue;

    kuznetps, 30 Апреля 2015

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

    +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
    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
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    $(function() {
    	// Калькулятор
    	function calculate(el,btn){
    
    		// Запоминаем данные
    		//-----------------------------------------------------------------------------------------------------------------									
    		var priceAtribut = 'data-val';			// Атрибут с ценами у блоков
    		var cartTotal = $('.total_price p');	// Елемент
    		
    		var elem = {
    			parentModule 	   : $(el).parents('cart'),						// Родительский блок корзины
    			btn         	   : $(btn),									// Текущая кнопка которая была нажата
    			inpt        	   : $(el).find('.input-counts'),				// Инпут с колличеством
    			priceBase    	   : $(el).find('.string-elem-price-base'),		// Базовая цена товара
    			priceTotal         : $(el).find('.string-elem-price-total')		// Общая сумма товара
    		};
    
    		//функция: проверка колличества товаров, если к-во = 0, прекращаем работу скрипта
    		//-----------------------------------------------------------------------------------------------------------------
    		(function checkCounts () {
    			var thisCounts = (elem.inpt.val() - 0) + (elem.btn.attr(priceAtribut) - 0);
    			if(thisCounts != 0) {goCheck(thisCounts)}
    		}());
    
    		//функция: Калькуляции и пересчета!
    		//-----------------------------------------------------------------------------------------------------------------
    		function goCheck (counts) {
    
    			// Запись колличества в инпут текущего товара
    			elem.inpt.val(counts);				
    			// Запись общей суммы текущего товара, исходя из количества 												
    			elem.priceTotal.html( counts * (elem.priceBase.attr(priceAtribut) - 0) );	
    			// Запись общей суммы текущего товара, исходя из количества в атрибут datavalue	
    			elem.priceTotal.attr( priceAtribut, counts * (elem.priceBase.attr(priceAtribut) - 0) ); 
    
    			checkTotalSumm();		
    		}
    
    		// Функция которая делает общий пересчет общей суммы каждого товара, и записывает результат.
    		//-----------------------------------------------------------------------------------------------------------------
    		function checkTotalSumm () {
    			var totalSumm = 0;	
    			$('.'+elem.priceTotal.attr('class')).each(function(){
    				totalSumm += $(this).attr(priceAtribut) - 0;
    				
    			});
    			cartTotal.html(totalSumm);
    		}
    	}
    
    	// Запуск функции калькулятора
    	$('.number button').click(function() {
    		calculate($(this).parents('.item'),this);
    	});
    });

    Я только начинаю углубляться в JS, хотелось бы узнать мнение профи, насколько это говнокод!

    0whitewolf0, 15 Апреля 2015

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

    +157

    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
    var times, source_date,
          date = "20.11.2014";
    
    if (date) {
                times = date.split('.');
    
                source_date = new Date();
                source_date.setFullYear(parseInt(times[2]));
                source_date.setMonth(parseInt(times[1]) - 1);
    
                source_date.setDate(parseInt(times[0]));
    }
    
    return source_date ;

    darkartur, 31 Марта 2015

    Комментарии (23)
  5. PHP / Говнокод #17855

    +160

    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
    abstract class class_getset {
    	protected $vars;
    	
    	public function get($name = "%all%") {
    		if($name == "%all%") {
    			return $this->vars;
    		}
    		else {
    			return $this->vars[$name];
    		}
    	}
    	
    	/* тут второй метод, угадай его название */
    }

    Старый код из 2012, интересное решение ...

    volter9, 25 Марта 2015

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

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <?
    
    // Код от блондинки
    $moya_peremennaya = 0;
    for ($moya_drugaya_peremennaya = 0; $moya_drugaya_peremennaya < 100; $moya_drugaya_peremennaya += $moya_drugaya_peremennaya) {
    
    $moya_peremennaya = $moya_drugaya_peremennaya; 
    // У меня не работало $moya_peremennaya = 100  
    
    }
    ?>

    Код одной блондинки

    mikamika83, 06 Марта 2015

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

    +159

    1. 1
    if (strlen($PARAM)<=0) $PARAM = " class=\"inputselect\" ";

    Если длинна строки меньше нуля? Битрикс, ты серьёзно?

    Happinness_Cookie, 27 Февраля 2015

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if($locale == 'en') {
        $client->ios_in_app_purchase_id = 0; //1
    } else {
        $client->ios_in_app_purchase_id = 0;
    }

    безысходность

    DemoniacDeath, 17 Января 2015

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

    +55

    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
    else if(block->o_type == O_else)
        {
          block->o_type = O_else;
        }
      else if(block->o_type == O_endif)
        {
          block->o_type = O_endif;
        }
      else if(block->o_type == O_break)
        {
          block->o_type = O_break;
        }
      else if(block->o_type == O_continue)
        {
          block->o_type = O_continue;
        }
      else if(block->o_type == O_endwhile)
        {
          block->o_type = O_endwhile;
        }

    Lavir_the_Whiolet, 11 Января 2015

    Комментарии (23)
  10. Си / Говнокод #17270

    +139

    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
    char* xml_compose_simple_response(char* response, int code, char* description, char* additional_data)
    {
    	size_t resp_length = 0;
    	char* buff = NULL;
    
    	resp_length += strlen(RESPONSE_HEADER_PREFIX);
    	resp_length += strlen(session_type);
    	resp_length += strlen(transaction_id);
    	resp_length += strlen(response) + strlen(EMPTY_TAG);
    	if(NULL != additional_data)
    	{
    		resp_length += strlen(additional_data);
    	}
    	resp_length += strlen(description) + strlen(RESULT_INT) + sizeof(int) * 8;
    	resp_length += strlen(RESPONSE_HEADER_SUFFIX);
    
    	resp_length += 1;
    
    	if(NULL != (buff = malloc(resp_length)))
    	{
    		buff[0] = '\0';
    
    		sprintf(buff, RESPONSE_HEADER_PREFIX""EMPTY_TAG, session_type, transaction_id, response);
    
    		if (additional_data != NULL)
    		{
    			char tmp_desc[_2K];
    			sprintf(tmp_desc, description, additional_data);
    
    			sprintf(&buff[strlen(buff)], RESULT_INT, code, tmp_desc);
    		}
    		else
    		{
    			sprintf(&buff[strlen(buff)], RESULT_INT, code, description);
    		}
    		strcat(buff, RESPONSE_HEADER_SUFFIX);
    	}
    	else
    	{
    		mng_report_memory_failure_location_and_exit();
    	}
    	return buff;
    }

    XML вручную собирай @ на кавычкай падай. Никакого АПИ, только хардкор.

    codemonkey, 07 Декабря 2014

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

    +74

    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
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    configRequestTasks = new ConfigRequestRepeatingTask[]{
                    new ConfigRequestRepeatingTask<ApplicationStateModel.ApplicationState>(this) {
                        @Override
                        protected BaseConfigRequest<ApplicationStateModel.ApplicationState> createRequest() {
                            return new ApplicationStateRequest();
                        }
    
                        @Override
                        public ObjectSetting<ApplicationStateModel.ApplicationState> getConfigSetting() {
                            return Config.ApplicationState;
                        }
                    },
                    new ConfigRequestRepeatingTask<MessagesConfigurationModel.MessagesConfiguration>(this) {
                        @Override
                        protected BaseConfigRequest<MessagesConfigurationModel.MessagesConfiguration> createRequest() {
                            return new MessagesConfigurationRequest();
                        }
    
                        @Override
                        public ObjectSetting<MessagesConfigurationModel.MessagesConfiguration> getConfigSetting() {
                            return Config.MessagesConfiguration;
                        }
                    },
                    new ConfigRequestRepeatingTask<HandsetConfigurationModel.FeatureConfiguration>(this) {
                        @Override
                        protected BaseConfigRequest<HandsetConfigurationModel.FeatureConfiguration> createRequest() {
                            return new FeatureConfigurationRequest();
                        }
    
                        @Override
                        public ObjectSetting<HandsetConfigurationModel.FeatureConfiguration> getConfigSetting() {
                            return Config.FeatureConfiguration;
                        }
                    },
                    new ConfigRequestRepeatingTask<FeaturesDetailsModel.FeaturesDetails>(this) {
                        @Override
                        protected BaseConfigRequest<FeaturesDetailsModel.FeaturesDetails> createRequest() {
                            return new FeaturesDetailsRequest();
                        }
    
                        @Override
                        public ObjectSetting<FeaturesDetailsModel.FeaturesDetails> getConfigSetting() {
                            return Config.FeaturesDetails;
                        }
                    },
                    new ConfigRequestRepeatingTask<GeoFenceConfigurationModel.GeoFenceConfiguration>(this) {
                        @Override
                        protected BaseConfigRequest<GeoFenceConfigurationModel.GeoFenceConfiguration> createRequest() {
                            return new GeoFenceConfigurationRequest();
                        }
    
                        @Override
                        public ObjectSetting<GeoFenceConfigurationModel.GeoFenceConfiguration> getConfigSetting() {
                            return Config.GeoFenceConfiguration;
                        }
                    },
     ...

    Вот так мы создаем "очередь" запросов. И это только треть.

    TeTroTro, 04 Декабря 2014

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