1. PHP / Говнокод #6104

    +172

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    //Взятые из разных файлов варианты обращений к файлу конфигураций характеризуют о гибкости подхода к разработке приложения
    require_once '../../../config.php';
    require_once("../config.php");
    require_once("../../../../config.php");
    require_once(dirname(dirname(__FILE__)) . '/config.php');
    require('../config.php');
    require_once(dirname(__FILE__) . '/../../config.php');
    require_once(dirname(dirname(dirname(dirname(__FILE__)))) . '/config.php'); //included from messagelib (how to fix?)

    Предлагаю обратить внимание на http://moodle.org/ -- это Система Управления Обучением.

    Продукт поражает своей архитектурой. Предлагаю взглянуть одним глазком.

    sectus, 28 Марта 2011

    Комментарии (16)
  2. PHP / Говнокод #6103

    +152

    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
    if ($UsingComponents){
    	// если используем компоненты 2.0 - очищаем буфер 
    	ob_end_clean();
    	$APPLICATION->AddBufferContent('empty');
    	
    	...
    } else {
    	// иначе выводим всё, что у нас накопилось
    	ob_end_flush();
    	$APPLICATION->AddBufferContent('empty');
    	
    	...
     }

    Не совсем говнокод, но комментарий на строке 8, имхо, забавный...

    wwwguru, 28 Марта 2011

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

    +134

    1. 1
    string relativedir = Directory.GetParent(Directory.GetParent(Directory.GetParent(Directory.GetCurrentDirectory()).ToString()).ToString()).ToString()+@"\Webapplication2\App_Data\";

    ссылка на базу данных в другой папке

    oldnavy1989, 27 Марта 2011

    Комментарии (57)
  4. PHP / Говнокод #6101

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    private $data = array(
    		'name' => '',
    		'organization' => '',
    		'mail' => '',
    		'phone' => '',
    		'comment' => '',
    		'model' => '',
    	);

    Так адекватные люди создают асоциативные массивы? Или по другому?

    greshnik, 27 Марта 2011

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

    +149

    1. 1
    $txt['aeva_gallery'] = isset($txt['aeva_gallery']) ? $txt['aeva_gallery'] : 'Media';

    Кусочек языкового файла модуля медиагалереи

    prodigy, 27 Марта 2011

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

    +117

    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
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Caeser_method
    {
        class Program
        {
            static void Main(string[] args)
            {
                int n = 3;
                Console.Write("Input string to encoding: ");
                string input = Console.ReadLine();
                Csr enc = new Csr(n,input);
               // Csr dec;
                enc.encrypt();
                Console.WriteLine(enc);
               // dec = new Csr(n, input);
                enc.decrypt();
                
                Console.WriteLine(enc);
                Console.ReadLine();
            }
        }
    }
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Caeser_method
    {
        class Csr
        {
            public int n;
            public string phraze,outputphr;
            public Csr(int n, string phraze) 
            {
                this.n = n;
                this.phraze = phraze;
                this.outputphr = "";
            }
    
            
            public void encrypt() 
            {
                foreach (char c in this.phraze)
                    if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'))
                    {
                        if (char.IsLetter(c)) this.outputphr += (char)(char.IsUpper(c) ?
                                                                          (c + this.n > 'Z' ? ('A' + ((c -'Z'  + (this.n - 1)))) : (c + this.n)) :
                                                                          (c + this.n > 'z' ? ('a' + ((c - 'z' + (this.n - 1)))) : (c + this.n)));
                        else this.outputphr += c;
                    }
                    else
                    {
                        if (char.IsLetter(c)) this.outputphr += (char)(char.IsUpper(c) ?
                                                                          (c + this.n > 'Я' ? ('А' + ((c - 'Я' + (this.n - 1)))) : (c + this.n)) :
                                                                          (c + this.n > 'я' ? ('а' + ((c - 'я' + (this.n - 1)))) : (c + this.n)));
                        else this.outputphr += c;
                    }
            }
    
    
            public void decrypt()
            {
                this.phraze = this.outputphr;
                this.outputphr = "";
                foreach (char c in this.phraze)
                    if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'))
                    {
                        if (char.IsLetter(c)) this.outputphr += (char)(char.IsUpper(c) ?
                                                                          (c - this.n < 'A' ? ('Z' - (('A' - c + (this.n - 1)))) : (c - this.n)) :
                                                                          (c - this.n < 'a' ? ('z' - (('a' - c + (this.n - 1)))) : (c - this.n)));
                        else this.outputphr += c;
                    }
                    else
                    {
                        if (char.IsLetter(c)) this.outputphr += (char)(char.IsUpper(c) ?
                                                                          (c - this.n < 'А' ? ('Я' - (('А' - c + (this.n - 1)))) : (c - this.n)) :
                                                                          (c - this.n < 'а' ? ('я' - (('а' - c + (this.n - 1)))) : (c - this.n)));
                        else this.outputphr += c;
                    }
            }
    
            public override string ToString()
            {
                return string.Format("Encoded string: {0}",this.outputphr);
            }
    
        }
    }

    Реализация шифрования методом Цезаря

    rybaki, 27 Марта 2011

    Комментарии (14)
  7. ActionScript / Говнокод #6098

    −103

    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
    public static function trimExtraLineBreaks(string:String):String
    {
    	var trimmedString:String = string;
    
    	for(var i:int = 0; i < 20; i++)
    	{
    		trimmedString = trimmedString.replace(new RegExp("\r\r","g"),"\r");
    		trimmedString = trimmedString.replace(new RegExp("\r\n","g"),"\r");
    		trimmedString = trimmedString.replace(new RegExp("\n\n","g"),"\n");
    		trimmedString = trimmedString.replace(new RegExp("\n\r","g"),"\n");
    		trimmedString = trimmedString.replace(new RegExp("\n ","g"),"\n");
    		trimmedString = trimmedString.replace(new RegExp("\r ","g"),"\n");
    		trimmedString = trimmedString.replace(new RegExp(" \n","g"),"\n");
    		trimmedString = trimmedString.replace(new RegExp(" \r","g"),"\n");
    	}
    
    	return trimmedString;
    }

    Натолкнулся на просторах github'а во время поиска чего-то там... Ей богу сразу забыл, что искал.

    fljot, 27 Марта 2011

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

    +170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    transaction::~transaction()
      {
        if (db_) {
          int rc = db_->execute(fcommit_ ? "COMMIT" : "ROLLBACK");
          if (rc != SQLITE_OK)
            throw database_error(*db_);
        }
      }

    (c) http://code.google.com/p/sqlite3pp/source/browse/trunk/sqlite3pp.cpp#486

    пожалуй, здесь нехватает картинки в стиле Nichtlustig с подписью "лемминг делает throw в деструкторе"

    iddqd, 27 Марта 2011

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

    +190

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    // Count how many rows are in the table.
        for (var x = 0; x < tableRows.length; ++x)
        {
        	rowCount += 1;
        }

    napmor1, 26 Марта 2011

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

    +149

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    // get info from db
    		$results = $this->datadb->dataForIndex();
    		$data_['mainResult'] = $results['mainResult'];
    		$data_['pics'] = $results['pics'];
    		$data_['com'] = $results['com'];
    		$data_['huuInvert'] = $results['huuInvert'];
    		$data_['dateInvert'] = $results['dateInvert'];
    		$data_['type'] = $results['type'];

    Кусок со своего CMS. Да я знаю что можно объединить массивы, но иногда не все требуется из функции.

    increazon, 26 Марта 2011

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