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

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    class UserFixture extends ActiveFixture
    {
        public function getDataMorozov() {
            return $this->getData();
        }
    
        protected function getData() {
    ...

    Yii 2 fixtures. Называем костыли правильно

    kissarat, 25 Марта 2018

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    // OK
    class foo {};
    void foo();
    
    // не ОК: error: 'void bar()' redeclared as different kind of symbol
    namespace bar {}
    void bar();

    "Двойные стандарты"

    Elvenfighter, 22 Марта 2018

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    Если Не ЗначениеЗаполнено(ДатаПриемаСотрудника) Тогда
    		Возврат 0;
    		Предупреждение("У сотрудника "+Сотрудник+" нет даты приема проведите прием на работу");
    	КонецЕсли;

    еее анричабол стейтментс

    sgo, 21 Марта 2018

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

    +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
    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
    int main()
    {
    	//Все функции в посте выше
    	int m,n;
    	bool **ar1;
    	bool **ar2,**ar3;
    	bool **tar;
    	bool **temp;
    	setlocale(LC_ALL, "RUS");
    	system("color F0");
    	
    	
    	cout << "\tЗАДАНИЕ 1" << endl;
    	cout << "Требуется доказать что (A*B)^-1=(B^-1)*(A^-1)" << endl;
    	cout << "Введите размерность матриц" << endl;
    	cin >> m;
    	cin >> n;
    	ar1 = setMemory(m, n);
    	ar2 = setMemory(m, n);
    	ar3 = setMemory(m, n);
    	tar = setMemory(m, n);
    	temp = setMemory(m, n);
    	cout << "Введите элементы матрицы А" << endl;
    	inputElements(ar1, m, n);
    
    	
    
    	cout << "Введите элементы матрицы В" << endl;
    	inputElements(ar2, m, n);
    	cout << "Введите элементы матрицы C" << endl;
    	inputElements(ar3, m, n);
    	cout << "Cначала найдём (A*B)^-1" << endl;
    	cout << "A*B:" << endl;
    	multiple(ar1, ar2,tar, m, n);
    	cout << "Обратная (A*B): " << endl;
    	printLine(m);
    	obr(tar, m, n);
    	printLine(m);
    	cout << "Теперь переёдём к правой части, найдём (B^-1)*(A^-1) " << endl;
    	obr(ar2,tar, m, n);
    	obr(ar1, temp, m, n);
    	printLine(m);
    	multiple(tar, temp, m, n);
    	printLine(m);
    	cout << endl;
    	cout << endl;
    	printLine(40);
    	cout << "\tЗадание 2 " << endl;
    	cout << "Доказать что (А\\В)\\С=(А\\С)\\В " << endl;
    	cout << "А\\В :" << endl;
    	subtractionMatr(ar1, ar2, tar, m, n);
    	cout << "(А\\В)\\С :" << endl;
    	printLine(m);
    	subtractionMatr(tar, ar3, m, n);
    	printLine(m);
    
    
    
    	cout << "А\\C :" << endl;
    	subtractionMatr(ar1, ar3, tar, m, n);
    	cout << "(А\\C)\\B :" << endl;
    	printLine(m);
    	subtractionMatr(tar, ar2, m, n);
    	printLine(m);
    	system("pause");
        return 0;
    }

    ArthurMakaev, 20 Марта 2018

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $np = new NP();
        //Проверяю пользователя на модератора
        $arResult["showModerInfo"] = ($np->checkUserAccess([6]));
        $fil = $arResult['FILTER']; // Ради сокращения длины строк
        $req = $np->getRequest()->toArray()['filter'];
        ?>
        <div class="col-xs-12">
            <div class="b-shadow-wrapper b-filter" <?=($arResult['FILTER'])?'style="display:block"':''?>>

    сокращение строк

    hipachka, 17 Марта 2018

    Комментарии (12)
  7. Pascal / Говнокод #23945

    +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
    program bio;
    uses crt, graphABC;
    const y1=200; r1=20;
    var
    x2,x3,r:real;
    
    procedure del (x1,x11:integer);
    begin
    circle (x1,y1,r1); 
    sleep(1000); 
    ClearWindow();
    r:=r1/2;
    x2:=x1-(r);
    circle (Trunc(x2),y1,Trunc(r));
    x3:=x11+(r);
    circle (Trunc(x3),y1,Trunc(r));
    sleep(1000); 
    r:=r*2;
    x2:=x1-(r);
    circle (Trunc(x2),y1,Trunc(r));
    x3:=x11+(r);
    circle (Trunc(x3),y1,Trunc(r));
    del(Trunc(x2),Trunc(x3));
    end;
    
    
    begin
    SetWindowSize(600,400);
    setBrushColor(clGreen);
    del(300,300);
    end.

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

    SewerSurfer, 17 Марта 2018

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

    +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
    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
    #!/usr/bin/env escript
    %% -*- erlang -*-
    %%! -smp enable -debug verbose
    
    -include_lib("xmerl/include/xmerl.hrl").
    
    -export([main/1, install_mod/1]).
    
    -record(mod_info, { name  :: string()
                      , links :: [{file:filepath(), file:filepath()}]
                      }).
    
    main(Args) ->
        [ModeDir, GameDir] = Args,
        VirtualInstall = filename:absname(ModeDir ++ "/VirtualInstall/"),
        RealPath = filename:absname(GameDir),
        VirtualModCfg = VirtualInstall ++ "/VirtualModConfig.xml",
        io:format( "Mode dir: ~p~n"
                   "Install dir: ~p~n"
                   "Current dir: ~p~n"
                 , [VirtualInstall, RealPath, element(2, file:get_cwd())]),
        {Doc, []} = xmerl_scan:file(VirtualModCfg),
        Mods = get_mods(VirtualInstall, RealPath, Doc),
        [install_mod(I) || I <- Mods],
        ok.
    
    get_mods(VirtPath, RealPath, Doc) ->
        [ #mod_info
              { name  = xpath("/modInfo/@modName", Mod)
              , links = get_links(VirtPath, RealPath, Mod)
              }
          || Mod <- xmerl_xpath:string( "/virtualModActivator/modList/modInfo"
                                      , Doc)].
    
    get_links(VirtPath, RealPath, Doc) ->
        [{ filename:absname( unixify(xpath("/fileLink/@realPath", FL))
                           , VirtPath)
         , filename:absname( unixify(xpath("/fileLink/@virtualPath", FL))
                           , RealPath)
         }
         || FL <- xmerl_xpath:string( "//fileLink[isActive = 'True']"
                                    , Doc)].
    
    xpath(Query, Doc) ->
        case xmerl_xpath:string(Query, Doc) of
            [#xmlAttribute{value = Val}] ->
                Val
        end.
    
    unixify(Path) ->
        lists:map(
          fun($\\) -> $/;
             (A)   -> A
          end,
          Path).
    
    install_mod(#mod_info{name = Name, links = Links}) ->
        io:format("Installing ~s...~n", [Name]),
        lists:foreach(
          fun({From, To}) ->
                  filelib:ensure_dir(To),
                  file:make_symlink(From, To)
          end,
          Links).

    CHayT, 12 Марта 2018

    Комментарии (8)
  9. Swift / Говнокод #23907

    +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
    45. 45
    46. 46
    47. 47
    48. 48
    protocol Multi {
        associatedtype T
        associatedtype U
    
        func printSelf()
    }
    
    extension Multi where T == Int, U == Float {
        func printSelf() {
            print("Int & Float!")
        }
    }
    
    extension Multi where T == String, U == Int {
        func printSelf() {
            print("String & Int!")
        }
    }
    
    extension Multi {
        func printSelf() {
            print("Unknown")
        }
    }
    
    class MultiImplementationIntFloat: Multi {
        typealias T = Int
        typealias U = Float
    }
    
    class MultiImplementationStringInt: Multi {
        typealias T = String
        typealias U = Int
    }
    
    class MultiImplementationInvalid: Multi {
        typealias T = Float
        typealias U = String
    }
    
    let m1 = MultiImplementationIntFloat()
    m1.printSelf()
    
    let m2 = MultiImplementationStringInt()
    m2.printSelf()
    
    let m3 = MultiImplementationInvalid()
    m3.printSelf()

    Multimethods в Swift с проверкой в compile-time

    Desktop, 10 Марта 2018

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

    +1

    1. 1
    2. 2
    3. 3
    Баг в railroad diagram, описывающей strling literal в JS (из книги Крокфорда Javascript: The Good Parts).
    
    https://i.imgur.com/8QFMrIQ.png

    Эквивалентно регулярке
    (\"([^\"^\\]|\\([\"\'\\\/bfnrt]|u[\d]{4}))*[^\"^\\]+\"|\'([^\'^\\]|\\([\"\'\\\/bfnrt]|u[\d]{4}))*[^\'^\\]+\')

    Ставить [ code ] боюсь, парсер уже починился?
    Ну, в общем, видно, что при таком раскладе, как на диаграмме, строковой литерал не может заканчиваться эскейп-последовательностью, что в действительности не так. Классический случай "something\n".

    vistefan, 06 Марта 2018

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

    +1

    1. 1
    2. 2
    3. 3
    if (count($this->session->userdata('search_data') > 0)) {
    ...
    }

    Видимо, это "проверка", что массив не пустой

    gorsash, 22 Февраля 2018

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