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

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    try
    {
      // ... code ...
    }
    catch (ErrorResponseException& ex) { throw; }

    Documenting-with-code?

    Elvenfighter, 06 Апреля 2018

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    -define(foo, foo).
    -define(bar, bar).
    -define(baz, baz).
    ...
    
    foo(A, B) ->
      gen_server:call(?MODULE, {?foo, A, B}).
    
    ...
    handle_call({?foo, A, B}, _From, State) ->
      ...

    Паттерн "мирный атом в каждый call".

    CHayT, 20 Марта 2018

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

    +1

    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
    public static synchronized Tracker getDefaultTracker() {
        Tracker tracker;
        synchronized (MainApp.class) {
            if (googleAnalTracker == null) {
                analytics = GoogleAnalytics.getInstance(app());
                GoogleAnalytics googleAnalytics = analytics;
                int i = (DEBUG || STAGE) ? R.xml.app_tracker_debug : R.xml.app_tracker;
                googleAnalTracker = googleAnalytics.newTracker(i);
                googleAnalTracker.enableAutoActivityTracking(false);
            }
            tracker = googleAnalTracker;
        }
        return tracker;
    }

    Тайна гугла раскрыта

    m0003r, 04 Февраля 2018

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    https://github.com/SeleniumHQ/selenium/commit/388793a775aea41533fb5816aabe710e1b42ff61
    
    +        if (Math.random() > 0.8) {
    +            throw new SeleniumError("Selenium 1.0 (Core, RC, etc) is going away; update to WebDriver now.");
    +        }
    +

    j123123, 02 Февраля 2018

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    https://www.reddit.com/r/cpp/comments/75gohf/i_just_found_a_use_for_the_poop_emoji_in_c/
    запостить этот говнокод непосредственно сюда не представляется возможным из-за юникодного символа говна:
    Application was halted by an exception.
    Debug-mode is off.

    I just found a use for the poop emoji in C++
    This actually detects whether the Visual Studio project has the proper UTF-8 flags set to compile it correctly.

    j123123, 16 Января 2018

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

    0

    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
    #include <typeinfo>
    #include <string>
    #include <iostream>
    using namespace std::literals::string_literals;
    using std::cout;
    
    #if defined(__GNUG__) || defined(__clang__)
    #include <cxxabi.h>
    template <typename T>
    std::string get_real_type() {
    	int status;
    	char *real_name = abi::__cxa_demangle(typeid(T).name(), nullptr, nullptr, &status);
    	return (status == 0 ? std::string(real_name) : ("(not demangled)"s + typeid(T).name())); 
    }
    #else
    template <typename T>
    std::string get_real_type() {
    	return typeid(T).name();
    }
    #endif
    
    template <typename T>
    struct overload_generator {
    	std::string get_type_impl() {
    		return get_real_type<T>();
    	}
    };
    
    template <typename... Ts>
    struct printer : overload_generator<Ts>...
    {
    	using overload_generator<Ts>::get_type_impl...;
    	template<typename T>
    	void println_type() {
    		cout << overload_generator<T>::get_type_impl() << '\n';
    	}
    	template <typename... Us>
    	void println_types() {
    		println_types_impl((std::string(overload_generator<Us>::get_type_impl()) + "\n")...);
    	}
    private:
    	template <typename... Us>
    	void println_types_impl(Us... args) {
    		(cout << ... << args);
    	}
    };
    
    int main() {
    	auto pr = printer<int,long,decltype(nullptr)>();
    	pr.println_type<long>();
    	pr.println_types<long, decltype(nullptr),int>();
    }

    По мотивам http://govnokod.ru/23638#comment395579
    Разманглил имена, а то gcc выдает нечитаемую дичь в type_info::name для типов сложнее инта
    Ну и сахар из c++17 вроде свёртки аргументов вариативной шаблонной функции (fold expression, хз как лучше перевести) тут тоже есть

    eszett, 11 Января 2018

    Комментарии (9)
  8. Куча / Говнокод #23506

    +7

    1. 1

    Полиглот и квайн на брейнфаке, питоне и ещё куче языков размером в 0 байт.

    vistefan, 09 Ноября 2017

    Комментарии (9)
  9. Ruby / Говнокод #23473

    −1

    1. 1
    2. 2
    3. 3
    def self
      self
    end

    irb(main):002:0> self
    => main
    irb(main):003:0> self.self
    => main
    irb(main):004:0> # уииииииииииииииииииииииииииииииии
    irb(main):005:0* self.self.self.self.self.self.self.self.self.self.self.self.self.self.self.self.self
    => main

    Stallman, 01 Ноября 2017

    Комментарии (9)
  10. Куча / Говнокод #23454

    0

    1. 1
    2. 2
    echo -ne '10\n11\n12\n' | POST 'http://localhost:8123/?query=INSERT INTO t FORMAT TabSeparated'
    cat file.csv | clickhouse-client --database=test --query="INSERT INTO test FORMAT CSV";

    https://clickhouse.yandex/docs/en/single/index.html#format-clause

    FORMAT

    Вот нахрена было вставлять FORMAT в ЯЗЫК ЗАПРОСОВ? Почему нельзя это сделать опциями клиента и HTTP-хедерами?

    Допустим, хочу я написать клиент на языке X, который использует HTTP-протокол. Работа клиента — взять запрос и превратить его в структуры данных языка X. Из-за этого FORMAT клиенту теперь нужно лезть в пользовательский запрос, чтобы понять, в каком формате будут приходить данные, и уметь конвертировать все форматы, которые взбрело в голову добавить авторам БД.

    roman-kashitsyn, 25 Октября 2017

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if ("any string" == 0) {
        echo 'php govno';
    } else {
        echo 'php ne govno';
    }

    Баян, как с вложенным тернарным оператором?

    vistefan, 05 Октября 2017

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