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

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

    +2

    1. 1
    2. 2
    Дайте инвайт этому господину
    https://habr.com/sandbox/125898/

    LinuxGovno, 27 Декабря 2018

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

    +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
    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
    public static string GetTextFromExcel97To2003Format(string filePath)
    {
        FileStream fileStream = null;
        POIFSFileSystem fileSystem = null;
        ExcelExtractor excelExtractor = null;
     
        try
        {
            using (fileStream = new FileStream(filePath, FileMode.Open))
            {
                fileSystem = new POIFSFileSystem(fileStream);
                excelExtractor = new ExcelExtractor(fileSystem);
                excelExtractor.IncludeBlankCells = false; // optional
                excelExtractor.IncludeCellComments = false; // optional
                excelExtractor.IncludeHeaderFooter = false; // optional
                excelExtractor.IncludeSheetNames = false; // optional
     
                return excelExtractor.Text;
            }
        }
        catch
        {
            // handle the exception
        }
        finally
        {
            if (excelExtractor != null)
            {
                excelExtractor.Close();
                excelExtractor = null;
            }
     
            fileSystem = null;
     
            if (fileStream != null)
            {
                fileStream.Close();
                fileStream.Dispose();
                fileStream = null;
            }
        }
     
        return string.Empty;
    }

    это пиздец, товарищи: https://www.kunal-chowdhury.com/2017/07/npoi-excel-97-2003
    эта хуита, на серьезных щах задвигается как документация к либе: https://github.com/tonyqus/npoi/wiki/Getting-Started-with-NPOI
    как, блять, так можно? юзинги? та пошли вы нахуй, я вам не доверяю. и вообще, присвоение нуля тоже хуйня. нельзя доверять никому. НИКОМУ!!
    Я не навижу индусов. Это пиздец. Это уже не первый раз, я натыкаюсь на статейку, которую, вот так читаешь, и понимаешь, что какая-то откровенная поибота и с мыслью "наверное опять эти ебаные индусы" скролишь вниз? чтобы увидеть рожу или хотябы имя автора. и там, СУКА, ИНДУС!!! они говорят, будь толерантным, а я им говорю, пошли НА ХУЙ!!!

    Lorip1971, 24 Декабря 2018

    Комментарии (5)
  4. Куча / Говнокод #25175

    −3

    1. 1
    http://avg1.ru/upload/iblock/60a/60aa3c633e7f885cabd311cf3b6f6792.jpg

    Она сама сделала ярлычки, на которых было написано, кто именно подарил ей украшение.

    Goh, 09 Декабря 2018

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

    −106

    1. 1
    Скрипаль заебал. Просто взял, блять, - и заебал... А в анус путина похоже кто-то сильно дунул, он аж совещание собрал.

    Бандера приде, импичмент принесе.

    Goh, 23 Ноября 2018

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

    −2

    1. 1
    Кто как произносит слово "PHP"?

    "PHP", "PHP", "PHP" - это "P", это "H", это "P"

    Perevedi_na_PHP, 25 Октября 2018

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public GlobalSetting ReadGlobalSettingById(string id)
    {
    	int totalItems;
    	var globalSettings = ReadGlobalSettings(PageSetting.All, out totalItems);
    
    	return globalSettings.FirstOrDefault(e => e.GlobalSettingID == id);
    }

    Инновационный алгоритм считывания сущности по ID:
    1) считываем ВСЕ записи из базы в память;
    2) в памяти находим сущность с нужным ID;
    3) все остальное пусть Garbage Collector подберет;
    4) удобно же, не правда ли?)

    Moses, 11 Октября 2018

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

    −9

    1. 1
    2. 2
    3. 3
    Как называется свод правил, к примеру таких, как заключение необязательных параметров программы\функции в квадратные скобки.
    Есть ли документ или стандарт на их применение?
    Такое часто встречается и в python help, и в man pages, например.

    OlegUP, 17 Сентября 2018

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

    +2

    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
    #include <bits/stdc++.h> 
    using namespace std; 
    int main(){
    int x1,y1,x2,y2; 
    string xy1,xy2;
    cin>>xy1>>xy2;
    if (xy1[0]=='A')x1=1;
    if (xy1[0]=='B')x1=2;
    if (xy1[0]=='C')x1=3;
    if (xy1[0]=='D')x1=4;
    if (xy1[0]=='E')x1=5;
    if (xy1[0]=='F')x1=6;
    if (xy1[0]=='G')x1=7;
    if (xy1[0]=='H')x1=8;
    
    if (xy1[1]=='1')y1=1;
    if (xy1[1]=='2')y1=2;
    if (xy1[1]=='3')y1=3;
    if (xy1[1]=='4')y1=4;
    if (xy1[1]=='5')y1=5;
    if (xy1[1]=='6')y1=6;
    if (xy1[1]=='7')y1=7;
    if (xy1[1]=='8')y1=8;
    
    if (xy2[0]=='A')x2=1;
    if (xy2[0]=='B')x2=2;
    if (xy2[0]=='C')x2=3;
    if (xy2[0]=='D')x2=4;
    if (xy2[0]=='E')x2=5;
    if (xy2[0]=='F')x2=6;
    if (xy2[0]=='G')x2=7;
    if (xy2[0]=='H')x2=8;
    
    if (xy2[1]=='1')y2=1;
    if (xy2[1]=='2')y2=2;
    if (xy2[1]=='3')y2=3;
    if (xy2[1]=='4')y2=4;
    if (xy2[1]=='5')y2=5;
    if (xy2[1]=='6')y2=6;
    if (xy2[1]=='7')y2=7;
    if (xy2[1]=='8')y2=8;
    if  ((abs(x1-x2)==1&&abs(y1-y2)==0)||
    (abs(x1-x2)==0&&abs(y1-y2)==1)||
    (abs(x1-x2)==1&&abs(y1-y2)==1)||
    (y1==y2||x1==x2||abs(x1-x2)==abs(y2-y1))||
    (y1==y2||x1==x2)||
    (abs(x1-x2)==abs(y2-y1))||
    (abs(x1-x2)==1&&abs(y1-y2)==2)|| 
    (abs(x1-x2)==2&&abs(y1-y2)==1)|| 
    (x1==x2&&((y1==2&&y2==y1+2)||(y1>=2&&y2==y1+1))))
    {
    //king
    if(abs(x1-x2)==1&&abs(y1-y2)==0)
    cout<<"King\n";
    else if(abs(x1-x2)==0&&abs(y1-y2)==1)
    cout<<"King\n";
    else if(abs(x1-x2)==1&&abs(y1-y2)==1)
    cout<<"King\n";
    //queen
    if(y1==y2||x1==x2||abs(x1-x2)==abs(y2-y1))
    cout<<"Queen\n";
    //rook
    if(y1==y2||x1==x2)
    cout<<"Rook\n";
    //bishop
    if (abs(x1-x2)==abs(y2-y1))
    cout<<"Bishop\n";
    //knight
     if(abs(x1-x2)==1&&abs(y1-y2)==2) 
    cout<<"Knight\n";
    else if(abs(x1-x2)==2&&abs(y1-y2)==1) 
    cout<<"Knight\n";
    //pawn
    if(x1==x2&&((y1==2&&y2==y1+2)||(y1>=2&&y2==y1+1)))
    cout<<"Pawn\n";
    }
    else cout<<"Nobody";
    }

    Нашел его в старом добром ACMP и он работает

    sulka, 13 Сентября 2018

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

    −6

    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
    class Foo {
    // ...
    private:
        std::vector<int>     v1_;
        std::vector<int>     v2_;
        
        void bar( const std::vector<int>& v ); 
    
    public:
        void doAction( int choice ) {
            if ( choice == 1 ) 
                bar( v1_ );
            else
                bar( v2_ );
        }
    };

    Почему передавать поля класса в свои же методы по ссылке\указателю -- это говнокод?
    Как этого избегать, чтобы получилось универсальней?

    OlegUP, 01 Сентября 2018

    Комментарии (5)
  11. Си / Говнокод #24553

    −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
    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
    #ifdef DEBUG
    static int (*printfn)(FILE *stream, const char *format, ...) = fprintf;
    #else
    static void (*printfn)(int priority, const char *format, ...) = syslog;
    #endif
    
    /* somewhere in getopt() options */
    #ifdef DEBUG
        printfn = noprintf;
    #else
        printfn = nosyslog;
    #endif
    
    /* elsewhere in a common header file */
    #ifdef DEBUG
    #undef LOG_ERR
    #undef LOG_WARNING
    #undef LOG_INFO
    #define LOG_ERR stderr
    #define LOG_WARNING stderr
    #define LOG_INFO stderr
    #endif
    
    void nosyslog(int priority, const char *format, ...)
    {
        (void)priority;
        (void)format;
    }
    
    int noprintf(FILE *stream, const char *format, ...)
    {
        (void)stream;
        (void)format;
        return 0;
    }

    А попроще способа для --quiet / -DDEBUG нету?

    codemonkey, 29 Июля 2018

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