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

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

    +3

    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
    /**
     * Generator for the opera:credits (third-party information) document.
     */
    class OperaCredits : public OpGeneratedDocument
    {
    public:
    
    	/**
    	 * Fills a string with the third party credit information in opera:about
    	 * (and opera:credits, if enabled).
    	 *
    	 * @param[in] str An OpString to write to.
    	 * @param[in] rtl Whether or not the text should be right-to-left.
    	 *
    	 * @return OK on success, or any error reported by URL or string code.
    	 */
    	static OP_STATUS GetString(OpString &str, BOOL rtl);
    
    #ifdef OPERA_CREDITS_PAGE
    
    	/**
    	 * Constructor for the credits page generator.
    	 *
    	 * @param url URL to write to.
    	 */
    	OperaCredits(URL &url) : OpGeneratedDocument(url, OpGeneratedDocument::HTML5) {}
    
    	/**
    	 * Generate the credits document to the specified internal URL.
    	 *
    	 * @return OK on success, or any error reported by URL or string code.
    	 */
    	virtual OP_STATUS GenerateData();
    
    #endif // OPERA_CREDITS_PAGE
    };

    Оттуда.

    Конструктор не нужен. Можем спрятать его в ифдеф.

    inkanus-gray, 20 Января 2017

    Комментарии (20)
  3. C++ / Говнокод #22007

    +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
    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
    /***********************************************************************************
     *
     * AddItem
     *
     * Adds SearchTemplate search to the internal search engines list
     * and to the UserSearches
     *
     ***********************************************************************************/
    OP_STATUS SearchEngineManager::AddItem(SearchTemplate* search)
    {
    	// trying to modify searches before LoadSearchesL() ?
    	OP_ASSERT(HasLoadedConfig());
    
    	if (!search->GetUniqueGUID().HasContent())
    	{
    		OpString guid;
    		if (OpStatus::IsSuccess(StringUtils::GenerateClientID(guid)))
    		{
    			search->SetUniqueGUID(guid.CStr());
    			OP_ASSERT(search->GetUniqueGUID().HasContent());
    		}
    	}
    
    	// Should never add item that's already in the list
    	SearchTemplate* temp = g_searchEngineManager->GetByUniqueGUID(search->GetUniqueGUID());
    	OP_ASSERT(!temp);
    
    	OP_STATUS status = m_search_engines_list.Add(search);
    
    	if (OpStatus::IsSuccess(status))
    	{
    		m_usersearches->AddUserSearch(search);
    		
    #ifdef SUPPORT_SYNC_SEARCHES
    		BroadcastSearchEngineAdded(search);
    #endif
    	}
    
    	return status;
    }

    Оттуда.

    Результат вызова метода используется только в ассерте (см., например, переменную temp). Т. е. сборке для release полностью игнорируется, хотя ресурсы на вызов ненужного метода потрачены.

    inkanus-gray, 20 Января 2017

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

    +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
    // При изменении лимитов нужно также поправить и валидацию малой формы на морде!
    	net_sum: {
    		callback: "ym_sum_related",
    		params: {
    			min: 500,
    			//max: 14999,
    			max: false,
    			multiple: 0.01,
    			addComissionField: "sum",
    			//message: "Минимальная сумма перевода — 100 рублей, максимальная — 14999 рублей."
    			message: "Минимальная сумма перевода — 500 рублей."
    		}
    	},

    Интеллигентные программисты "Яндекс.Денег": https://money.yandex.ru/direct-payment.xml?form-state=to-card

    huge_cock, 19 Января 2017

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