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

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <?php
    require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); 
    
    if($_POST['SESS_PARAM'] && $_POST['SESS_PARAM'] !='' && $_POST['SESS_PARAM_VALUE'] && $_POST['SESS_PARAM_VALUE'] !=''){
    
    	$_SESSION[$_POST['SESS_PARAM']] = $_POST['SESS_PARAM_VALUE'];
    	echo 'ok';
    }else{
    	echo 'error';
    }

    утверждают что сайт им писали лучшие из лучших

    BroadcastAddress, 23 Февраля 2021

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

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    'use strict';
    
    const isOdd = require("is-odd");
    
    module.exports = function isIsOdd(func) {
    	return func == isOdd;
    }

    https://www.npmjs.com/package/is-is-odd

    Why

    Some functions are not is-odd but they might make you think they're is-odd, this package helps you identify these functions with a simple interface.

    Нить бессмысленных npm-модулей.

    3.14159265, 29 Апреля 2020

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

    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
    public class Main {
      public static void uh() {
        try {
          
        } catch (Exception e) {
          throw e;
        }
      }
    
      // <no errors>
    
      public static void oh() {
        try {
          throw new RuntimeException();
        } catch (Exception e) {
          throw e;
        }
      }
    
      // <no errors>
    
      public static void snap() {
        try {
          throw new Exception();
        } catch (Exception e) {
          throw e;
        }
      }
    
      // /tmp/Main.java:8: error: unreported exception Exception; must be caught or declared to be thrown
      //       throw e;
      //       ^
      // 1 error
    }

    Где-то посередке между хорошим inference и остутствием интуитивности

    Fike, 20 Марта 2020

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

    +59

    1. 1
    2. 2
    3. 3
    4. 4
    std::transform( keyframes.begin(), keyframes.end(), std::back_inserter( result ),
          boost::bind( & qMakePair< KeyframeType::first_type, KeyframeType::second_type >,
             boost::bind( & Prm::TType::view, _1 ),
             boost::bind( & Prm::Time::value, boost::bind( & Prm::TType::time, _1 ) ) ) );

    boost bind головного мозга

    QBatman, 24 Сентября 2014

    Комментарии (143)
  6. Куча / Говнокод #16549

    +128

    1. 1
    2. 2
    isParallel :: Integer -> Integer -> Integer -> Integer -> Integer -> Integer -> Integer -> Integer -> Bool
    isParallel x1 y1 x2 y2 x3 y3 x4 y4 = if (((x1-x2)*(y3-y4)-(y1-y2)*(x3-x4)) == 0) then True else False

    лаба по хаски
    параллельны ли 2 прямые?

    kegdan, 16 Августа 2014

    Комментарии (143)
  7. Куча / Говнокод #16305

    +138

    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
    Викиучебник по хаскелю такой викиучебник
    
    Задание - написать frequency — функция, возвращающая список пар (символ, частота). Каждая пара определяет атом из заданного списка и частоту его вхождения в этот список.
    
    Решение 
    
    frequency :: [a] -> [(a : Integer)]
    frequency l = f [] l
    
    f :: [a] -> [a] -> [(a : Integer)]
    f l []    = l
    f l (h:t) = f (corrector h l) t
    
    corrector :: a -> [a] -> [(a : Integer)]
    corrector a []      = [(a : 1)]
    corrector a (a:n):t = (a : (n + 1)) : t
    corrector a h:t     = h : (corrector a t)
    
    Логика-то верна, но код тупо не скомпилится. И как тут быть нубцу? 
    
    
    
    Задание - Описать следующие классы типов. При необходимости воспользоваться механизмом наследования классов.
    Show — класс, объекты экземпляров которого могут быть выведены на экран.
    
    Думаю что-то мегасложное, сделать самому руками show
    
    Решение 
     
    class Show a where
      show :: a -> String
    
    /-*)

    Викиучебник по хаскелю такой викиучебник

    kegdan, 11 Июля 2014

    Комментарии (143)
  8. C++ / Говнокод #3572

    +169

    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
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    struct IText{
     
    	typedef boost::shared_ptr<IText> SPtr;
     
    	virtual void draw() = 0;
     
    	virtual void add(const SPtr&) {
    		throw std::runtime_error("IText: Can't add to a leaf");
    	}
     
    	virtual void remove(const SPtr&){
    		throw std::runtime_error("IText: Can't remove from a leaf");
    	}
    };
     
    struct CompositeText: public IText{
     
    	void add(const SPtr& sptr){
    		children_.push_back(sptr);
    	}
     
    	void remove(const SPtr& sptr){
    		children_.remove(sptr);
    	}
     
    	void replace(const SPtr& oldValue, const SPtr& newValue){
    		std::replace(children_.begin(), children_.end(), oldValue, newValue);
    	}
     
    	virtual void draw(){
    		BOOST_FOREACH(SPtr& sptr, children_){
    			sptr->draw();
    		}
    	}
     
    private:
    	std::list<SPtr> children_;
    };
     
    struct Letter: public IText{
     
    	Letter(char c):c_(c) {}
     
    	virtual void draw(){
    		std::cout<<c_;
    	}
     
    private:
    	char c_;
    };
     
     
    int main(){
     
    	CompositeText sentence;
     
    	IText::SPtr lSpace(new Letter(' '));
    	IText::SPtr lExcl(new Letter('!'));
    	IText::SPtr lComma(new Letter(','));
    	IText::SPtr lNewLine(new Letter('\n'));
    	IText::SPtr lH(new Letter('H')); // letter 'H'
    	IText::SPtr le(new Letter('e')); // letter 'e'
    	IText::SPtr ll(new Letter('l')); // letter 'l'
    	IText::SPtr lo(new Letter('o')); // letter 'o'
    	IText::SPtr lW(new Letter('W')); // letter 'W'
    	IText::SPtr lr(new Letter('r')); // letter 'r'
    	IText::SPtr ld(new Letter('d')); // letter 'd'
    	IText::SPtr li(new Letter('i')); // letter 'i'
     
    	IText::SPtr wHello(new CompositeText);
    	wHello->add(lH);
    	wHello->add(le);
    	wHello->add(ll);
    	wHello->add(ll);
    	wHello->add(lo);
     
    	IText::SPtr wWorld(new CompositeText); // word "World"
    	wWorld->add(lW);
    	wWorld->add(lo);
    	wWorld->add(lr);
    	wWorld->add(ll);
    	wWorld->add(ld);
     
    	sentence.add(wHello);
    	sentence.add(lComma);
    	sentence.add(lSpace);
    	sentence.add(wWorld);
    	sentence.add(lExcl);
    	sentence.add(lNewLine);
     	sentence.draw();  // ptrints "Hello, World!\n"
     	IText::SPtr wHi(new CompositeText); // word "Hi"
    	wHi->add(lH);
    	wHi->add(li);
     	sentence.replace(wHello, wHi);
    	sentence.draw();  // ptrints "Hi, World!\n"
     	sentence.remove(wWorld);
                 sentence.remove(lSpace);
    	sentence.remove(lComma);
    	sentence.draw();  // ptrints "Hi!\n"

    Hi, World! Психологическая зависимость от надуманного ООП убивает проекты и их создателей. Всё хорошо в меру. (Найдено на просторах интернета).

    Говногость, 25 Июня 2010

    Комментарии (143)
  9. Kotlin / Говнокод #26591

    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
    enum class Measures {
        B, KB, MB, GB;
    
        private val size = BigDecimal.valueOf(1024L).pow(ordinal)
    
        companion object {
            fun toHumanSize(value: Long): String {
                val decValue = value.toBigDecimal()
                val measure = values().reversed().find { it.size < decValue } ?: B
                return "${decValue.divide(measure.size, 3, RoundingMode.UP)} $measure"
    
            }
        }
    }

    MAKAKA, 20 Апреля 2020

    Комментарии (142)
  10. Java / Говнокод #15650

    +78

    1. 1
    2. 2
    3. 3
    wb.getApplication().run(macro, null, null, null, null, null, null, null, null, null, null, null,
            null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
            null, null, null, null);

    Использование библиотеки для взаимодействия с мелкософтовскими COM-объектами

    evg_ever, 02 Апреля 2014

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

    +165

    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
    function register()
    {
        if (!empty($_POST)) {
            $msg = '';
            if ($_POST['user_name']) {
                if ($_POST['user_password_new']) {
                    if ($_POST['user_password_new'] === $_POST['user_password_repeat']) {
                        if (strlen($_POST['user_password_new']) > 5) {
                            if (strlen($_POST['user_name']) < 65 && strlen($_POST['user_name']) > 1) {
                                if (preg_match('/^[a-z\d]{2,64}$/i', $_POST['user_name'])) {
                                    $user = read_user($_POST['user_name']);
                                    if (!isset($user['user_name'])) {
                                        if ($_POST['user_email']) {
                                            if (strlen($_POST['user_email']) < 65) {
                                                if (filter_var($_POST['user_email'], FILTER_VALIDATE_EMAIL)) {
                                                    create_user();
                                                    $_SESSION['msg'] = 'You are now registered so please login';
                                                    header('Location: ' . $_SERVER['PHP_SELF']);
                                                    exit();
                                                } else $msg = 'You must provide a valid email address';
                                            } else $msg = 'Email must be less than 64 characters';
                                        } else $msg = 'Email cannot be empty';
                                    } else $msg = 'Username already exists';
                                } else $msg = 'Username must be only a-z, A-Z, 0-9';
                            } else $msg = 'Username must be between 2 and 64 characters';
                        } else $msg = 'Password must be at least 6 characters';
                    } else $msg = 'Passwords do not match';
                } else $msg = 'Empty Password';
            } else $msg = 'Empty Username';
            $_SESSION['msg'] = $msg;
        }
        return register_form();
    }

    Из рассылки PHPWeekly: "A Clean and Secure Open Source PHP Login Script"
    https://github.com/panique/php-login/blob/master/0-one-file/index.php#L98

    Что-то уж очень сильно "Clean".

    brevis, 29 Августа 2013

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