1. 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

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

    −103

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

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

    CnEPMOBOP, 07 Июня 2019

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

    +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
    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

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

    +3

    1. 1
    Infinity = 1 bsl 64,

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

    CHayT, 07 Июня 2019

    Комментарии (16)
  5. Си / Говнокод #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

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

    +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
    Если ВидОперации = Перечисления.МОЛ_ВидыОперацийПоступленияСырья.Перемещение  Тогда
    		ДоговорКонтрагента = "";
    		ТипЦен = "";
    		Если Сырье.Количество()>0 Тогда
    			Для каждого СтрокаСырье Из Сырье Цикл
    				СтрокаСырье.Цена = 0;
    				СтрокаСырье.Сумма = 0;
    				СтрокаСырье.СуммаНДС = 0;
    			КонецЦикла;	
    		КонецЕсли;	
    			
    	КонецЕсли;

    Добавлена проверка, чтобы цикл вдруг не выполнился при пустой таб части!
    Кстати выполняется при открытии формы и постоянно вызывает модифицированность

    Молокозавод 1.3.121

    doom2good, 06 Июня 2019

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    https://habr.com/ru/post/219685/
    |
    ->
    Плохо выразился. В старых не надо объявлять поле типа Pointer, в старых объявляется поле интерфейсного типа, а при присвоении ему значения делается приведение: Pointer(FInterfaceField) := Pointer(InterfaceVariable);
    Так делали, чтобы получить weak-ссылку и при этом не заниматься многочисленными приведением Pointer к интерфейсу.
    Не будет никакого AV, если вы руками присвоите nil в деструкторе, тоже через приведение к Pointer.

    Ох, лол...

    cmepmop, 05 Июня 2019

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

    −102

    1. 1
    Гниль

    Всё - гниль.

    AHCKujlbHblu_netyx, 05 Июня 2019

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

    0

    1. 1
    2. 2
    3. 3
    We could replace the nonce with a deterministic value, but it's not entirely clear what the cryptographic implications are. At the very least, it allows attackers to obverse that a secret has changed, or that it has changed back to a previously observed value.
    
    https://github.com/edolstra/rfcs/blob/nix-encryption/rfcs/0005-nix-encryption.md

    Продолжаем наблюдения

    CHayT, 04 Июня 2019

    Комментарии (13)
  10. 1C / Говнокод #25660

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    ПроизведенаРабота = Истина;
    	
    Если ЗапрашиватьТрудозатраты И Не ВыполняетсяПеренаправление Тогда
    	ПроизведенаРабота = Истина;
    КонецЕсли;

    Типично

    sandvich, 04 Июня 2019

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