1. Куча / Говнокод #25674

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    В WSH есть объект WScript, расширяющий возможности языка и позволяющий управлять их поведением.
    Одно из его свойств - Interactive, оно позволяет разрешить либо запретить скрипту показывать пользователю диалоговые окна.
    
    Как-то так:
    
    WScript.Interactive=False
    MsgBox "Эй, ламер! Привет!"                 'этот диалог не будет показан
    WScript.Interactive=True
    msgbox wscript.scriptfullname                ' этот дилог будет по... нет, тоже не будет показан.

    А всё потому, что скриптовый движок выбирается только один раз и не может быть сменен динамически.
    Выбрать можно либо UI-движок, показывающий сообщения и ошибки, либо Silent-движок, который не показывает ничего.

    Вот уж какой багор!..

    cmepmop, 13 Июня 2019

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if($_GET['page']==''){include($_SERVER['DOCUMENT_ROOT'].'/page/catalog.php');}
    if($_GET['page']=='product'){include($_SERVER['DOCUMENT_ROOT'].'/page/product.php');}
    if($_GET['page']=='category'){include($_SERVER['DOCUMENT_ROOT'].'/page/category.php');}
    if($_GET['page']=='subcatalog'){include($_SERVER['DOCUMENT_ROOT'].'/page/category.php');}
    if($_GET['page']=='subcategory'){include($_SERVER['DOCUMENT_ROOT'].'/page/subcategory.php');}
    if($_GET['page']=='dressing'){include($_SERVER['DOCUMENT_ROOT'].'/page/dressing.php');}
    if($_GET['page']=='consultant'){include($_SERVER['DOCUMENT_ROOT'].'/page/consultant.php');}
    if($_GET['page']=='stock'){include($_SERVER['DOCUMENT_ROOT'].'/page/stock.php');}
    if($_GET['page']=='hit'){include($_SERVER['DOCUMENT_ROOT'].'/page/hit.php');}

    2019 год. Проект был написан год назад чуваками из провинции. Зато на фронтенде Angular.

    EmGovno, 13 Июня 2019

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

    +3

    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
    private async Task CountResultAsync(IProgress<bool> progress)
    {
         object sync = new object();
    
        await Task.Run(() => Parallel.For(0, _dataList.Count, i =>
        {
            lock (sync)
            {
                 var index = _dataList.FindIndex(m => m.FullPath.Equals(_dataList[i].FullPath));
    
                _dataList[index] = new GridModel()
                {
                    FullPath = _dataList[i].FullPath,
                    Name = _dataList[i].Name,
                    Checksum = GetFileChecksum(_dataList[i].FullPath),
                    IsCompleted = true
                };
           }
        }));
    }

    Когда кто-то пытается написать параллельный код, но что-то идет не так.

    ShockWorker, 13 Июня 2019

    Комментарии (0)
  4. JavaScript / Говнокод #25671

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function htmlspecialchars (s) {
        const el = document.createElement('span');
        el.innerText = s;
        return el.innerHTML.replace(/<br>/g, "\n");
    }

    Почему в жепаскрипте нет прямого доступа к этой функции? Почему я должен для этого работать с DOM или сам писать эту поеботу на рагулярках? Почему асё так анально?

    O4epegHou_nemyx, 10 Июня 2019

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

    0

    1. 1
    предлагаю убрать из алфавита буквы p и h

    Ksyrx, 09 Июня 2019

    Комментарии (40)
  6. Swift / Говнокод #25669

    +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
    import SwiftUI
    
    
    struct LandmarkDetail: View {
        @EnvironmentObject var userData: UserData
        var landmark: Landmark
    
    
        var landmarkIndex: Int {
            userData.landmarks.firstIndex(where: { $0.id == landmark.id })!
        }
    
    
        var body: some View {
            VStack {
                MapView(landmark: landmark)
                    .frame(height: 300)
    
    
                CircleImage(image: landmark.image(forSize: 250))
                    .offset(y: -130)
                    .padding(.bottom, -130)
    
    
                VStack(alignment: .leading) {
                    HStack {
                        Text(landmark.name)
                            .font(.title)
    
    
                        Button(action: {
                            self.userData.landmarks[self.landmarkIndex].isFavorite.toggle()
                        }) {
                            if self.userData.landmarks[self.landmarkIndex].isFavorite {
                                Image(systemName: "star.fill")
                                    .foregroundColor(Color.yellow)
                            } else {
                                Image(systemName: "star")
                                    .foregroundColor(Color.gray)
                            }
                        }
                    }
    
    
                    HStack(alignment: .top) {
                        Text(landmark.park)
                            .font(caption)
                        Spacer()
                        Text(landmark.state)
                            .font(.caption)
                    }
                }
                .padding()
    
    
                Spacer()
            }
            .navigationBarTitle(Text(landmark.name), displayMode: .inline)
        }
    }

    https://developer.apple.com/tutorials/swiftui/handling-user-input

    Принципиально новый нескучный "декларативный" UI от компании Apple. В наличии:
    * магические константы
    * спагетти из замыканий
    * биндинги, страшные как атомная война
    * где-то внутри модная хипстерская реактивная либа

    На фоне этого кошмара qml кажется вершиной инженерной мысли

    Desktop, 08 Июня 2019

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

    0

    1. 1
    Меня ограбили

    Я чувствую полнейшее опустошение; в моих яйцах просто вакууууум...

    CnEPMOBOP, 07 Июня 2019

    Комментарии (4)
  8. Lua / Говнокод #25667

    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
    35. 35
    36. 36
    37. 37
    38. 38
    gr = love.graphics
    win = love.window
    lk = love.keyboard
    require("button")
    require("t")
    
    function love.load()
    local loading = {}
    loading = serialize.load("records.lua")
    font = gr.newFont("NotoSans.ttf",14)
    mini = gr.newFont("NotoSans.ttf",10)
    big = gr.newFont("NotoSans.ttf",30)
    flag = nil --Flag = nil -menu, Flag = 1 -records, Flag = 2 -type game, Flag = 3 -type game standart, Flag = 4 -type game impulse, Flag = 5 -type game Invers, Flag = 6 -type game Unreal
    kube = {x = 96, y = 196, colx = 8, coly = 8}
    speed = 1
    timer = 0
    umber = {}
    records = {{"Standart", 0},{"Impulse", 0},{"Invers", 0},{"Unreal", 0},{"XY diagonal", 0},{"Perpendiculars", 0}}
    if loading and #loading > 0 then
    	for i = 1, #loading do
    		records[i][2] = loading[i]
    	end
    end
    score = 0
    	mb = {utton:create(200-font:getWidth(">Play<")/2,125,">Play<"),utton:create(200-font:getWidth(">Records<")/2,160,">Records<"),utton:create(200-font:getWidth(">Exit<")/2,195,">Exit<")}
    	tgb = {utton:create(200-font:getWidth(">Standart<")/2,60,">Standart<"),utton:create(200-font:getWidth(">Impulse<")/2,90,">Impulse<"),utton:create(200-font:getWidth(">Invers<")/2,120,">Invers<"),utton:create(200-font:getWidth(">Unreal<")/2,150,">Unreal<"),utton:create(200-font:getWidth(">XY diagonal<")/2,180,">XY diagonal<"),utton:create(200-font:getWidth(">Perpendiculars<")/2,210,">Perpendiculars<")}
    	back = utton:create(200-font:getWidth(" >Back< ")/2,300," >Back< ")
    	r = utton:create(200-font:getWidth(" >Restart< ")/2,250," >Restart< ")
    end
    
    local function restart()
    	kube = {x = 96, y = 196, colx = 8, coly = 8, speed = 350}
    	speed = 1
    	timer = 0
    	umber = {}	
    	score = 0
    	toch = nil
    end

    My первый игра сделаная на love2d. Аж всплакнул.

    3oJIoTou_xyu, 07 Июня 2019

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

    +3

    1. 1
    Infinity = 1 bsl 64,

    Не говнокод, но просто смешно

    CHayT, 07 Июня 2019

    Комментарии (16)
  10. Си / Говнокод #25665

    +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
    // 3.7 Position-independent Limitation
    // At runtime an MRE program needs to be dynamically loaded into RAM. In other words, the addresses of the variables and functions can be dynamically assigned when they are loaded. This requires that the code be position-independent. If the code needs to determine the addresses at compile time, then it will fail to compile.
    // The following code exemplifies this error.
    /* 1 */
    int a[10], b[10];
    struct c {
            int* d;
            int* e;
    };
    struct c f = {a, b};
    
    /* 2 */
    void func1(void) {}
    typedef struct struct1 {
    int a;
    void (*fun)(void);
    } struct1;
    struct1 array1[1] = {0, func1};
    
    /* 3 */
    char *str = "test";
    char * list[] = {"zero", "one", "two"};
    
    // The solution is as follows:
    /* 1 */
    int a[10], b[10];
    struct c {
        int* d;
        int* e;
    };
    struct c f;
    void init1(void) {
        f.d = a;
        f.e = b;
    }
    
    /* 2 */
    void func1(void) {}
    typedef struct struct1 {
        int a;
        void (*fun)(void);
    } struct1;
    struct1 array1[1];
    void init2(void) {
        array1[0].a = 0;
        array1[0].fun = func1;
    }
    
    /* 3 */
    char str[] = "test";
    char list[][10] = {"zero", "one", "two"};

    MRE Developer FAQ
    This document contains information that is proprietary to MediaTek Inc.

    Загрузчик программ из MRE не умеет сложные фиксапы, поэтому изменяйте свой код, чтобы в нём не было адресов, которые нужно определять в момент загрузки.

    PA3yMHblu_nemyx, 07 Июня 2019

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