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

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

    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
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    <!DOCTYPE html>
    <html>
    <head>
    	<title>Change login</title>
    </head>
    <body>
    <form method="POST">
    <p>Input your new e-mail</p>
    <input type="text" name="email" type="e-mail" placeholder="[email protected]"><br><br>
    <button>Sumbit</button>
    </form>
    <?php
    session_start();
    if(isset($_POST['email'])) {
    	require_once 'connection.php';
        //подключение БД
    	 $link = mysqli_connect($host,$user,$password,$database)
         or die("Error with connection to DB".mysqli_error($link));
         //записываем в переменную для удобства
         $email = $_POST['email'];
         if($email != '') {
         	$select = "SELECT mail from users";
            $query = "UPDATE users SET mail = '$email' WHERE username = '{$_SESSION['username']}'"
            or die("Update error!".mysqli_error($link));
                    //записать все логины,для проверки одинаковых данных
            $check = mysqli_query($link,$select);
            //количество записей в запросе на выбор
            $rows = mysqli_num_rows($check);
            $bool = true;
            for($i = 0; $i < $rows; $i++) {
                //извлекаем отдельную строку
                $row = mysqli_fetch_row($check);
                //перебор по ячейкам текущей строки
                for($j = 0; $j < 1; $j++) {
                //если такой пользователь уже есть,то выводим ошибку и завершаем цикл
                if($email == $row[$j]) {
                    echo "e-mail is already exist";
                    $bool = false;
                    break;
                }
            }
            }
            //если такого пользователя нет,то заносим запись в БД
            if($bool) {
            $result = mysqli_query($link,$query) or die("Ошибка " . mysqli_error($link));
                    if($result) {
                echo "e-mail changed";
                mail($email,"Смена адреса","Вы успешно сменили e-mail адрес!");
            }
             }
            //закрываем подключение
            mysqli_close($link);
         }
    }
    ?>
    </body>
    </html>

    Собственно говоря смена адреса электронной почты на PHP,как бы исправить этот говнокод,чтобы он выглядел чуточку элегантней?

    Mark96, 28 Апреля 2018

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

    −6

    1. 1
    echo "Свет истины!";

    Дабы пролить свет истины на ваши слепы очи, я скажу что по факту ПХП самый уебанский язык на свете и больше всего подвергался разного рода хакам, из-за его уёбищности были потеряны миллиарды долларов компаний и посажено миллионы хакеров! Ruby пизже и такого не было, nodejs пиздат и такого не предвидется, python тоже крут и сложно взломать

    fuckercoder, 11 Апреля 2018

    Комментарии (9)
  4. 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)
  5. Куча / Говнокод #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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. Куча / Говнокод #23506

    +7

    1. 1

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

    vistefan, 09 Ноября 2017

    Комментарии (9)
  11. 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)