1. C# / Говнокод #17469

    +135

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static string ExeDirectory
    {
        get
        {
            var strBuff1 = System.Windows.Forms.Application.ExecutablePath;
            var strBuff2 = Path.GetFileName(strBuff1);
            return strBuff1.Remove(strBuff1.Length - strBuff2.Length, strBuff2.Length);
        }
    }

    Из моего проекта. Так я писал код 1.5 год назад.

    Janycz, 18 Января 2015

    Комментарии (0)
  2. C# / Говнокод #17468

    +133

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var hContextMenu = (ContextMenu)MainDataGrid.Resources["CellContextMenu"];
    //UndoMenuItem.CommandTarget = MainDataGrid;
    UndoMenuItem.Command = ((MenuItem)hContextMenu.Items[0]).Command; //Undo
    //RedoMenuItem.CommandTarget = MainDataGrid;
    RedoMenuItem.Command = ((MenuItem)hContextMenu.Items[1]).Command; //Redo
    //CutMenuItem.CommandTarget = MainDataGrid;
    CutMenuItem.Command = ((MenuItem)hContextMenu.Items[3]).Command; //Cut
    //CopyMenuItem.CommandTarget = MainDataGrid;
    CopyMenuItem.Command = ((MenuItem)hContextMenu.Items[4]).Command; //Copy
    //PasteMenuItem.CommandTarget = MainDataGrid;
    PasteMenuItem.Command = ((MenuItem)hContextMenu.Items[5]).Command; //Paste

    Из моего проекта. Так я писал код год назад.

    Janycz, 18 Января 2015

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    // classes.php
    return [
      'yii\base\Action' => YII2_PATH . '/base/Action.php',
      'yii\base\ActionEvent' => YII2_PATH . '/base/ActionEvent.php',
      'yii\base\ActionFilter' => YII2_PATH . '/base/ActionFilter.php',
      // еще порядка трех сотен классов
    ];

    https://github.com/yiisoft/yii2/blob/d2b864da84a68d56a96709479af78d203f050451/framework/classes.php

    осень 2014, использующий composer модный фреймворк, "requires PHP 5.4 and embraces the best practices and protocols found in modern Web application development", и, конечно, ебаный стыд.

    Fike, 18 Января 2015

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <?php
    // comment out the following two lines when deployed to production
    defined('YII_DEBUG') or define('YII_DEBUG', true);
    defined('YII_ENV') or define('YII_ENV', 'dev');
    require(__DIR__ . '/../vendor/autoload.php'); // загружаем автозагрузчик
    require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php'); // DISREGARD THIS, загружаем вручную
    $config = require(__DIR__ . '/../config/web.php');
    (new yii\web\Application($config))->run();

    Входной скрипт Yii 2. Эта штука требует небольшого пояснения.
    Дело в том, что использовать константу YII_ENV для разработчиков оказалось некошерно, поэтому используются булевы константы YII_ENV_DEV, YII_ENV_PROD, YII_ENV_TEST, которые вычисляются в файле класса BaseYii (на всякий уточню - да, в файле с объявлением класса первым делом высчитываются глобальные константы).
    Так как понятие декларативной конфигурации тоже не очень близко этому фреймворку, эти константы используются прямо в конфигурационном php-файле. То есть, файл Yii.php обязан быть подгружен до того, как будут подгружены конфиги. А даже если сделать конфиг без использования этих констант или объявить их заранее, то последними строками Yii.php (после объявления класса) идет подключение автозагрузчика (да-да, в файле, который тоже служит для объявления класса), без которого почему-то никак (в composer-based проекте, ага). Ну, то есть без ручного подключения файла в этом фреймворке всё-таки вообще никак.
    Я не понимаю, как можно было умудриться идти практически по всем современным стандартам и опять проебать всё.

    Fike, 18 Января 2015

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

    +126

    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
    class Program
        {
            static void Main(string[] args)
            {
                User admin = new User() { Name = "Admin", Dick = new User.UserDick(18) };
                User guest = new User() { Name = "guest", Dick = new User.UserDick(12) };
                Console.WriteLine(guest.Suck(admin.Dick));
                Console.ReadLine();
            }
        }
    
        public class User
        {
            public User() { }
            public class UserDick
            {
                public UserDick(int _length) { Length = _length; }
                public long Length { get; set; }
            }
            public string Name { get; set; }
            public UserDick Dick { get; set; }
    
            public string Suck(UserDick _dick)
            {
                return String.Format("{0}: OH YEAH FUCK ME BY YOUR {1} CM YEEEEEAH I WANNA SUCK YOUR {2} DICK!", Name, _dick.Length, _dick.Length >= 17 ? "BIG" : "SMALL");
            }
        }

    DesmondHume, 17 Января 2015

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

    +53

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    int s = 0;
    string N;
    getline(cin, N);
    // Прости господи
    for (int i = 0; i < N.length(); i++)
        if (N[i] != 0)
            s += N[i] - 48;

    Глянул свой недавний код

    DesmondHume, 17 Января 2015

    Комментарии (2)
  7. JavaScript / Говнокод #17463

    +160

    1. 1
    $('div.body').css('height', '100%').parent('body').css('height', '100%').parent('html').css('height', '100%');

    Долой css и здравый смысл!

    hasesanches, 17 Января 2015

    Комментарии (6)
  8. JavaScript / Говнокод #17462

    +155

    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
    //Плэй
        var allOneComposition = $('.list ol').children('.oneComposition');
        for (var i = 0; i < allOneComposition.length; i++) {
            var oneComposition = allOneComposition.eq(i);
    
            var listPlay = oneComposition.find('.listPlay');
            listPlay.on('click', function() {
                var listPlayParents = $(this).parents();
                var d = listPlayParents.eq(3);
                d.toggleClass('oneComposition2');
    
            });
            /****удалить классы на неактивных элементах*****/
            var myClass = oneComposition.attr('class');
            if (myClass == 'oneComposition2') {
                //console.log(myClass);
            }
        }

    Занимательное чтиво

    hasesanches, 17 Января 2015

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if($locale == 'en') {
        $client->ios_in_app_purchase_id = 0; //1
    } else {
        $client->ios_in_app_purchase_id = 0;
    }

    безысходность

    DemoniacDeath, 17 Января 2015

    Комментарии (23)
  10. C++ / Говнокод #17460

    +58

    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
    #include <fstream>
    #include <string.h>
    #include <stdlib.h>
    #include <iostream>
    typedef unsigned int uint;
    std::string sMsg;
    
    int GetShift()
    {
    	int iResult = 0;
    	for(uint i = 0; i < sMsg.size(); i++)
    	{
    		if(!isalpha(sMsg[i])) continue;
    		
    		if(isupper(sMsg[i]))
    		{
    			iResult = int(sMsg[i]) - int('A');
    			break;
    		}
    		else if(islower(sMsg[i]))
    		{
    			iResult = int(sMsg[i]) - int('a');
    			break;
    		}
    	}
    	return iResult;
    }
    
    int Pos(const char* _Str, char _Ch)
    {
    	int i = 0;
    	while(*_Str)
    	{
    		if(*_Str == _Ch)
    		{
    			return i;
    		}
    		_Str++;
    		i++;
    	}
    	return -1;
    }
    
    int main()
    {
    	std::ifstream fin("input.txt");
    	std::ofstream fout("output.txt");
    	
    	std::getline(fin, sMsg);
    	
    	int iShift = GetShift();
    	if(iShift == 0)
    	{
    		fout << sMsg;
    	}
    	else
    	{
    		char* szOriginal = (char*)malloc(100);
    		strcpy(szOriginal, "ABCDEFGHIJKLMNOPQRSTUVWXYZ");
    		char* szShift = (char*)malloc(100);
    		strcpy(szShift, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ");
    		szShift += iShift;
    		
    		char* szOriginalL = (char*)malloc(100);
    		strcpy(szOriginalL, "abcdefghijklmnopqrstuvwxyz");
    		char* szShiftL = (char*)malloc(100);
    		strcpy(szShiftL, "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz");
    		szShiftL += iShift;
    		
    		for(int i = 0; i < sMsg.size(); i++)
    		{
    			if(!isalpha(sMsg[i]))	
    				fout << sMsg[i];
    			else
    			{
    				if(isupper(sMsg[i]))
    				{
    					int iPos = Pos(szShift, sMsg[i]);
    					fout << *(szOriginal + iPos);
    				}
    				else if(islower(sMsg[i]))
    				{
    					
    					int iPos = Pos(szShiftL, sMsg[i]);
    					fout << *(szOriginalL + iPos);
    				}
    			}
    		}
    		
    		free(szOriginal);
    		free(szShift);
    		free(szOriginalL);
    		free(szShiftL);
    	}
    	
    	fin.close();
    	fout.close();
    	return 0;
    }

    В рамках подготовки к прошедшей областной олимпиаде по информатике среди школьников Минской области решал задачи. Данный говнокод решение задачи про шифр цезаря (данная задача была на областной олимпиаде в 2013 - 2014 учебном году).
    Задача: расшифровать строку, которая зашифрована шифром Цезаря, так, чтобы полученная расшифровка была минимальна лексикографически.
    Зашифрованная строка находится в файле input.txt, результат надо было вывести output.txt

    Janycz, 16 Января 2015

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