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

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

    +20

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    void File::open(string file, bool readAccess, bool writeAccess, bool append)
    {
    	Close();
    	(string&)Name=file;
    	const char* const modes[2][2][2]={{{null, "rb"}, {"wb", "w+b"}}, {{null, null}, {"ab", "a+b"}}};
    	if(modes[append][writeAccess][readAccess]==null) return InternalError("Создание файла с неверными параметрами!");
    	handle=fopen(Name.CStr(), modes[append][writeAccess][readAccess]);
    	if(handle==null) throw NotFoundException(string::Format("Файл <^> не найден!")(file));
    }

    Скорее всего, этот код вам покажется странным, поэтому я его выкладываю. Хотя я его говнокодом не считаю и он мне даже нравится.

    gammaker, 16 Июля 2012

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

    +999

    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
    #include <iostream>
    #include <algorithm>
    #include <stdlib.h>
    
    const size_t MB = 1024*1024;
    size_t MOD = 0;
    
    unsigned char uniqueNumber () {
      static unsigned char number = 0;
      return ++number % MOD;
    }
    
    int main(int argc, char** argv) {
      if (argc < 3) {
        return 1;
      }
    
      size_t BLOCK_SIZE = atoi(argv[1]) * MB;
      MOD = atoi(argv[2]);
    
      unsigned char* garbage = (unsigned char *) malloc(BLOCK_SIZE);
    
      std::generate_n(garbage, BLOCK_SIZE, uniqueNumber);
      std::sort(garbage, garbage + BLOCK_SIZE);
    
      free(garbage);
    
      return 0;
    }

    http://habrahabr.ru/blogs/cpp/138132/

    It makes me cry. Понятно, что это всего лишь демонстрационный пример. Но все таки это не оправдание. Итак, начнем по порядку с самого худшего:
    1. Сишные malloc/free вперемешку с STL-алгоритмами. WTF? Зачем?
    2. Глобальная переменная? Автор не осилил хотя бы bind? Который, к тому же, уже давно std::bind.
    3. Uppercase для локальной переменной.
    4. Отступ в джва пробела.

    invi, 15 Февраля 2012

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

    +1000

    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
    #include <iostream>
    #include <stdio.h>
    #include <fcntl.h>
    #include <string>
    #define print(data) cout<<data<<endl;
    #define ord(data) int(data[0])
    #define str(data) char(data)
    #define open fopen
    #define write(f, data) fputc(data, f)
    using namespace std;
    string input()
    {
            string s;
            cin>>s;
            return s;
    };
    FILE* f;
    int chr;
     
    int main() {
            print("Enter:");
            f = open("code.txt", "w");
            chr = ord(input());
            print(chr);
            write(f, str(chr));
            return 0;
    }

    Вот такую лабу сдал студент 1го курса в нашем вузе. Сказал преподавателю, что ему очень нравится питон и он старается ему подражать.
    http://ideone.com/ctkFP

    ohlol, 17 Октября 2011

    Комментарии (90)
  5. Python / Говнокод #12

    −268.5

    1. 1
    2. 2
    3. 3
    temp = a
    a = b
    b = temp

    SvartalF, 25 Ноября 2008

    Комментарии (90)
  6. JavaScript / Говнокод #27431

    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
    function main()
    {
    	let a: [ name: string, age: number ];
    
    	a.name = "Test1";
    
    	print (a.name, " << end (should be value Test1)");
    
    	let b: [ name: string, age: number ] = [ "user", 10.0 ];
    
    	print (b.name, b.age);
    
    	let c: [ user: [ name: string, age: number ], type: number ] = [ [ "user2", 11.0 ], 1.0 ];
    
    	print (c.user.name, c.user.age, c.type);
    	print (c.user.name);
    
    	c.user.name = "Test2";
    
    	print (c.user.name, " << end (should be value Test2)");
    }

    Продолжаем будни говнокомпилятора. а ваш компилятор умеет делать проименнованные таплы (tuples)?

    ASD_77, 17 Мая 2021

    Комментарии (89)
  7. Ruby / Говнокод #27327

    +2

    1. 1
    page < records.total_pages ? next_page_exist = true : next_page_exist = false

    очевидное должно быть очевидны

    AlexKlim, 29 Марта 2021

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

    −2

    1. 1
    2. 2
    3. 3
    Ещё раз о «лицензиях»
    
    https://sun1-95.userapi.com/LR_BeKxXR6XXDG2k-dpOCzUf63zRdc6491VvIg/1J2iS0o6d_Y.jpg

    Кому они нужны?
    Это имеет какую-то юридическую силу?
    Что будет, если нарушить? Пацаны не поймут?

    OCETuHCKuu_nemyx, 10 Августа 2020

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

    −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
    // https://godbolt.org/z/ZsXDti
    
    #include <boost/hana.hpp>
    #include <range/v3/view.hpp>
    #include <range/v3/experimental/view/shared.hpp>
    #include <iostream>
    
    using namespace ranges::views;
    using std::vector, boost::hana::_, ranges::concat_view, ranges::experimental::views::shared;
    
    
    vector<double> sort(vector<double> vec) {
      if(size(vec) <= 1) {
        return vec;
      } else {
        auto pivot = vec[size(vec) / 2];
        
        return concat_view(
          sort(vec | filter(_ < pivot)),
          vec | filter(_ == pivot),
          sort(vec | filter(_ > pivot))
        );
      }
    }
    
    int main() {
      std::cerr << (sort({30, 20, 50, 40}) | shared | all) << std::endl;
    }

    https://habr.com/ru/post/482318/#comment_21072122

    Царь набрасывает на хабр какое-то крестобустоговно, называя его красивым.

    j123123, 28 Декабря 2019

    Комментарии (89)
  10. Pascal / Говнокод #25789

    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
    inside:=false;
    tag:=uppercase(tagpure);
    spacep:=pos(' ',tag);
    if spacep=0 then tagname:=tag else tagname:=copy(tag,1,spacep-1);
    
    if (not inscript) and (tagname='A') then
    begin
    ParseTag(tagpure);
    //если флажок Ссылки или флажок Якоря включен
    if checkBox9.Checked or checkBox10.Checked then
    begin
    linktext:=Lg.GR(24);
    linktag:='HREF';
    link2text:=Lg.GR(25);
    link2tag:='NAME';
    needlink:=true;
    needdbr:=true;
    end;
    end;

    Вернулся в 2007 1997.
    s: h/465709

    gost, 01 Сентября 2019

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    # сие есть AWK
            format = $2
            sub(/-.+$/, "", format)
            sub(/^.+?:[ \t]?/, "")
            output_format[format] = $0

    Какая падла придумала эту функцию?

    petux, 10 Августа 2019

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