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

    +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
    var vals =
                            tagsTypes.Zip(times,
                                (tagType, time) =>
                                {
                                    if (error != null)
                                        return new { time = time, val = (object)ServiceValue.DataSourceNotAvailable };
                                    if (!timedVals.ContainsKey(tagType.tag))
                                        return new { time = time, val = (object)ServiceValue.NoValue };
                                    if (timedVals[tagType.tag].Count == 0)
                                        return new { time = time, val = (object)ServiceValue.NoValue };
                                    var value = timedVals[tagType.tag].Find(x => x.TimestampUTC == time.ToUniversalTime() && x.Value!=null);
                                    if (value != null && value.IsGood())
                                    {
                                        if (value.Value == null)
                                            return new { time = time, val = (object)ServiceValue.Error };
                                        else
                                        {
                                            if (!string.IsNullOrEmpty(value.DigitalSetValue))
                                                return new { time = time, val = (object)value.DigitalSetValue };
                                            return new { time = time, val = value.Value };
                                        }
                                    }
                                    else
                                    {
                                        var val = _connection.GetTagByName(tagType.tag).Data.ArcValue(time, RetrievalTypeConstants.rtAuto);
                                        if (!string.IsNullOrEmpty(val.DigitalSetValue))
                                            return new { time = time, val = (object)val.DigitalSetValue };
                                        return new { time = time, val = val.Value };
                                    }
                                        return new { time = time, val = (object)ServiceValue.Error };                            
    
                                }).ToArray();

    давайте ка рассортируем значения по аттрибутам

    gogolevsergey, 23 Августа 2017

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function line(){
    	$line = '';
    	for ($i=0; $i != 40; $i++){
    		$line .= '-';
    	}
    	echo($line.PHP_EOL);	
    }

    NodnolStudio, 22 Августа 2017

    Комментарии (1)
  3. Python / Говнокод #23288

    +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
    #!/usr/bin/env python
    
    import jinja2
    
    import contextlib
    import os.path
    import shutil
    import subprocess
    import sys
    import tempfile
    
    
    @contextlib.contextmanager
    def rm_dir(d):
        yield d
        shutil.rmtree(d)
    
    
    def main():
        if len(sys.argv) < 2:
            return
    
        if os.path.basename(sys.argv[1]) != "compile":
            subprocess.call(sys.argv[1:])
            return
    
        command = sys.argv[1:]
        preprocessed_files = []
    
        with rm_dir(tempfile.mkdtemp()) as tmpdir:
            print "Temp dir is", tmpdir
    
            while len(command) > 0 and not command[-1].startswith("-") and command[-1].endswith(".go"):
                tmpfile = os.path.join(tmpdir, str(len(command)) + ".go")
    
                with open(command[-1]) as input:
                    with open(tmpfile, "wb") as preprocessed:
                        print "Preprocess", command[-1], "into", tmpfile
                        preprocessed.write(jinja2.Template(input.read()).render())
    
                preprocessed_files.append(tmpfile)
                command.pop()
    
            subprocess.call(command + preprocessed_files)
    
    
    if __name__ == "__main__":
        main()

    Прикручиваем шаблонизатор jinja к го, чтобы копипастить с комфортом. Использовать так:

    go build -toolexec '/path/to/preprocess.py' package_na_go

    123123123, 22 Августа 2017

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

    +4

    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
    int main()
    {
    	asm(
    		mov eax, 2
    		mov ebx, eax
    		mul eax
    		add eax, ebx
    		mov ecx, 16
    		mov ebx, 8
    		lea ebx, ptr [ebx * 16 + ecx + 1]
    		mov ptr [ebx], eax
    		add ptr [ebx], eax
    	);
     
    	printf("eax: %d\n", eax.value);
    	printf("mem:145 = %d\n", *(int*) &a_memory[145]);
     
        return 0;
    }

    На тему ассемблера в пхп
    https://ideone.com/XK7ZQd

    cykablyad, 22 Августа 2017

    Комментарии (169)
  5. Java / Говнокод #23286

    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
    public Map<String, String> mapAB4(Map<String, String> map) {
      if (map.get("a").length() > map.get("b").length()) {
        map.put("c", map.get("a"));
        return map;
      }
      if (map.get("b").length() > map.get("a").length()) {
        map.put("c", map.get("b"));
        return map;
      }
      if (map.get("b").length() == map.get("a").length()) {
        map.put("a", "");
        map.put("b", "");
        return map;
      }
      if (map.containsKey("a") && !(map.containsKey("b"))) {
        return map;
      }
      if (map.containsKey("b") && !(map.containsKey("a"))) {
        return map;
      }
      else {
      return map;
      }
    }

    неудачная попытка размять шаловливые ручки на CodingBat xDDD

    macaque_gomosek, 22 Августа 2017

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

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    ...
    Array(
    'url' => 'http://' . (@$_SERVER['HTTP_HOST']) . (@$_SERVER['REQUEST_URI']),
    'captcha.key' => 'ключ для капчи он такой ключ',
    'retail.cache_lifetime' => 3600,
    'hash.salt' => 'Соль для хэшированийяаааааа!%$#@)((()+))(',
    'icon' => '/favicon.ico'
    )
    ...

    Stefan, 22 Августа 2017

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

    0

    1. 1
    Подскажите программистских форумов.

    Чтобы общаться про компьютеры с братьями по разуму.

    Только без анальных правил и банов за мат. Чтобы свободное общение, так сказать. Нужны ресурсы типа говнокода, но более оживленные.

    123123123, 21 Августа 2017

    Комментарии (27)
  8. Java / Говнокод #23283

    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
    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
    package com.gdgkazan.summer_school_2017.homeworks.homework_3.activities.models;
    import java.util.List;
    import com.gdgkazan.summer_school_2017.homeworks.homework_3.activities.models.Value;
    import com.google.gson.annotations.SerializedName;
    /**
     * Created by Dmitry on 21.08.2017.
     */
    
    public class ResponseJokes {
        @SerializedName("type")
        private String type;
        @SerializedName("value")
        private List<Value> value;
    
        public String getType() {
            return type;
        }
    
        public void setType(String type) {
            this.type = type;
        }
    
        public List<Value> getValue() {
            return value;
        }
    
        public void setValue(List<Value> value) {
            this.value = value;
        }
    }
    
    
    package com.gdgkazan.summer_school_2017.homeworks.homework_3.activities.models;
    import java.util.List;
    import com.gdgkazan.summer_school_2017.homeworks.homework_3.activities.models.Value;
    import com.google.gson.annotations.SerializedName;
    /**
     * Created by Dmitry on 21.08.2017.
     */
    
    
    public class Value {
        @SerializedName("id")
        private int id;
    
        @SerializedName("joke")
        private String joke;
    
        @SerializedName("categories")
        private List<String> categories;
    }
    
    и отрывок активити
    
    Call<ResponseJokes> call = jokeService.getJokeWithFilter(firstName,lastName);
    
            // Отображаем progress bar
            loadingDialog.show();
            final List<Joke> jokes = new ArrayList<>();
            call.enqueue(new Callback<List<Value>>() {
    
                // В случае если запрос выполнился успешно, то мы переходим в метод onResponse(...)
                @Override
                public void onResponse(@NonNull Call<List<Value>> call, @NonNull Response<List<Value>> response) {
                    if (response.isSuccessful()) {
                        // Если в ответ нам пришел код 2xx, то отображаем содержимое запроса
                        //System.out.println((response.body().get(0));
                        for (int i = 0; i < response.body().size(); i++) {
                            jokes.add(new Joke(response.body().get(i).getJoke()));
                        }
    
                    } else {
                        // Если пришел код ошибки, то обрабатываем её
                        Toast.makeText(ThirdHomeworkActivity.this, R.string.network_error, Toast.LENGTH_SHORT).show();
                    }
    
                    // Скрываем progress bar
                    loadingDialog.dismiss();
                }
    
                // Если запрос не удалось выполнить, например, на телефоне отсутствует подключение к интернету
                @Override
                public void onFailure(@NonNull Call<List<Value>> call, @NonNull Throwable t) {
                    // Скрываем progress bar
                    loadingDialog.dismiss();
    
                    Toast.makeText(ThirdHomeworkActivity.this, R.string.network_error, Toast.LENGTH_SHORT).show();
                    Log.d("Error", t.getMessage());
                }
            });

    XYZZZ, 21 Августа 2017

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    if let attrs = profile?.attrs {
        let json = NSKeyedUnarchiver.unarchiveObject(with: attrs as Data) as? [String:AnyObject]
        textField.text = String(format: "%@", (json?["number"] as? String)!)
    }

    Кто пишет на Swift – разделит всю боль поддержки такого кода.

    pavelsmelovsky, 21 Августа 2017

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

    0

    1. 1
    Псст. А где здесь говнокод "подопьём и разговариваем про всякое"? Я, признаться, совсем одичал за последние полгода.

    bakagaijin, 19 Августа 2017

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