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

    В номинации:
    За время:
  2. Куча / Говнокод #10407

    +124

    1. 1
    http://pastebin.com/Wz1AHMh8

    Поскольку на уютненьком снова завелся унылый флудер, выкладываю доработанную версию автоскрывателя коментариев.
    Теперь банановый с поддержкой аякс-подгрузки!

    Vindicar, 29 Мая 2012

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

    +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
    int *element_iskomoi_posledovatelnosti;
     int tempNum = 1;
    element_iskomoi_posledovatelnosti = new int [maxim];
       
        int k=index_pervogo_elementa_posledovatelnosti;
        element_iskomoi_posledovatelnosti[0]=arr[k];
        printf(" element_iskomoi_posledovatelnosti[%i]=%i\n ",1, element_iskomoi_posledovatelnosti[0]);
     
        for (int j=index_pervogo_elementa_posledovatelnosti; j< n ; j++ )
        if (arr[k]<arr[j]) 
        {
           element_iskomoi_posledovatelnosti[tempNum]=arr[j];
           printf(" element_iskomoi_posledovatelnosti[%i]=%i\n ",tempNum+1, element_iskomoi_posledovatelnosti[tempNum++]);
           k=j;
         }
    }

    Crazy_penguin, 13 Ноября 2011

    Комментарии (70)
  4. PHP / Говнокод #7492

    +193

    1. 1
    2. 2
    3. 3
    if (md5(__FILE__) != '411606f6b8bcb6ac950c69567e840f44') {
    	die('Файл взломан.');
    }

    Барон Мюнхгаузен.

    Reyni, 09 Августа 2011

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

    +177

    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
    // Задача "Сложный XOR", олимпиада ACM контестер Украина.
    // Есть множество натуральных чисел от 0 до N. Играют двое игроков. Сначала один убирает из множества число,
    // потом второй. Если в множестве есть (осталось) число, равное побитовому XOR двух выбранных чисел, убирают
    // и его (в условии задачи битность числа не указана, но сказано, что 1 <= N <= 32). Играют пока в множестве
    // есть числа. Проигрывает тот, который не может совершить ход (на ком кончились числа).
    // Ввод - число N, вывод - игрок, который выиграл (оба игрока придерживаются выгодной стратегии).
    
    #include <iostream>
    #include <time.h>
    
    using namespace std;
    
    int main() {
    
    	int n;
    	cin >> n;
    
    	// Это очевидно
    	if (n==1) {
    		cout << "First";
    		return 0;
    	}
    	if (n==2) {
    		cout << "Second";
    		return 0;
    	}
    
    	// Это было в примере
    	if (n==3) {
    		cout << "First";
    		return 0;
    	}
    
    	int s = clock() % 2;		// rand() не работал чето :)
    
    	if (s==0) {
    		cout << "First";
    	} else {
    		cout << "Second";
    	}
    
    	return 0;
    }

    Говноолимпиадам - говнорешения!
    Скажете, зачем такое постить, это не говнокод... Фишка в том, что это незамысловатое решение *правильно прошло все тесты с первого раза!* :D

    Actine, 16 Апреля 2011

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

    +162

    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
    <?
    $server="localhost";
    $user="";
    $pass="";
    $DB="mynews";
    $ntitle=$title;
    $ntext=$newstext;
    $nuser=$user;
    $now = date(" H : i : s d - m - Y "); // дата будет выводиться в формате "время, дата"
    mysql_connect($server,$user,$pass) or die("Нет коннекта!");
    mysql_select_db($DB);
    mysql_query("Insert INTO news(ntitle,ntext,ndate,nuser) VALUES('".addslashes($ntitle)."','".addslashes($ntext)."','".addslashes($now)."',
    '".addslashes($nuser)."')");
    mysql_close();
    echo "Новость добавлена!";
    ?>

    Чуть ниже:

    '". addslashes ($ ntitle )."' // эта строка нужна для того, чтобы в заголовке правильно отображались кавычки.
    Оттуда же: "Как видите, вместо mysql-даты используется varchar, так проще."

    http://sources.ru/magazine/0106/08.html

    telnet, 27 Июня 2010

    Комментарии (70)
  7. C# / Говнокод #101

    −7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private string parameterName;
    
    public string ParameterName
    {
    get { return parameterName; }
    set { parameterName = value; }
    }

    И эта куча г... вместо: public string ParameterName {get; set;}

    guest, 11 Декабря 2008

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

    +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
    68. 68
    69. 69
    dirty_boostrap_test() ->
        SourceTab = ets:new(source, [public, named_table]),
        ReplicaTab = ets:new(replica, [public, named_table]),
        %% Insert some initial data:
        ets:insert(source, {1, 1}),
        ets:insert(source, {2, 2}),
        ets:insert(source, {3, 3}),
        try
            register(testcase, self()),
            Replica = spawn_link(fun replica/0),
            register(replica, Replica),
            %% "importer" process emulates mnesia_tm:
            spawn_link(fun importer/0),
            %% "bootstrapper" process emulates bootstrapper server:
            spawn_link(fun bootstrapper/0),
            receive
                done ->
                    SrcData = lists:sort(ets:tab2list(source)),
                    RcvData = lists:sort(ets:tab2list(replica)),
                    ?assertEqual(SrcData, RcvData)
            end
        after
            ets:delete(SourceTab),
            ets:delete(ReplicaTab)
        end.
    
    importer() ->
        Ops = [ {write, 3, 3}
              , {write, 4, 4}
              , {write, 4, 5}
              , {delete, 2}
              ],
        lists:map(fun(OP) ->
                          import_op(source, OP),
                          %% Imitate mnesia event (note: here we send it
                          %% directly to the replica process bypassing
                          %% the agent):
                          replica ! {tlog, OP}
                  end,
                  Ops),
        replica ! last_trans.
    
    replica() ->
        receive
            {bootstrap, K, V} ->
                ets:insert(replica, {K, V}),
                replica();
            bootstrap_done ->
                replay()
        end.
    
    replay() ->
        receive
            {tlog, Op} ->
                import_op(replica, Op),
                replay();
            last_trans ->
                testcase ! done
        end.
    
    import_op(Tab, {write, K, V}) ->
        ets:insert(Tab, {K, V});
    import_op(Tab, {delete, K}) ->
        ets:delete(Tab, K).
    
    bootstrapper() ->
        {Keys, _} = lists:unzip(ets:tab2list(source)),
        [replica ! {bootstrap, K, V} || K <- Keys, {_, V} <- ets:lookup(source, K)],
        replica ! bootstrap_done.

    Follow-up к треду про то, как делать снепшоты.

    CHayT, 20 Июня 2021

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

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    Иногда вижу такие "вложенные списки" в Markdown:
    
    1. text
        1.1. text
        1.2. text
                1.2.1. text
                1.2.2. text
                1.2.3. text
    
    А потом ещё удивляются, почему списки съезжают или показываются неправильно...

    groser, 19 Сентября 2020

    Комментарии (69)
  10. Java / Говнокод #26435

    +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
    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
    package clojure.lang;
    
    import java.io.Serializable;
    import java.util.*;
    
    public abstract class APersistentVector extends AFn implements IPersistentVector, Iterable,
                                                                   List,
                                                                   RandomAccess, Comparable,
                                                                   Serializable, IHashEq {
    int _hash;
    int _hasheq;
    
    public String toString(){
    	return RT.printString(this);
    }
    
    public ISeq seq(){
    	if(count() > 0)
    		return new Seq(this, 0);
    	return null;
    }
    
    public ISeq rseq(){
    	if(count() > 0)
    		return new RSeq(this, count() - 1);
    	return null;
    }
    
    static boolean doEquals(IPersistentVector v, Object obj){
        if(obj instanceof IPersistentVector)
            {
            IPersistentVector ov = (IPersistentVector) obj;
            if(ov.count() != v.count())
                return false;
            for(int i = 0;i< v.count();i++)
                {
                if(!Util.equals(v.nth(i), ov.nth(i)))
                    return false;
                }
            return true;
            }
    	else if(obj instanceof List)
            {
    		Collection ma = (Collection) obj;
    		if(ma.size() != v.count() || ma.hashCode() != v.hashCode())
    			return false;
    		for(Iterator i1 = ((List) v).iterator(), i2 = ma.iterator();
    		    i1.hasNext();)
    			{
    			if(!Util.equals(i1.next(), i2.next()))
    				return false;
    			}
    		return true;
    		}
    	else
            {
    		if(!(obj instanceof Sequential))
    			return false;
    		ISeq ms = RT.seq(obj);
    		for(int i = 0; i < v.count(); i++, ms = ms.next())
    			{
    			if(ms == null || !Util.equals(v.nth(i), ms.first()))
    				return false;
    			}
    		if(ms != null)
    			return false;
    		}
    
    	return true;
    
    }

    Я решил попробовать Clojure: скачал Intellij Idea Comunity Edition поставил Cursive. Кодил значится, кодил, решил посмотре реализацию некоторых функци, начал шерстить по исходникам и дошел до джавовских исходников реализации кложура. Идея мне любезно предложила вместо декомпилированого кода скачать исходники и читать их. Я согласился и скачал, после чего увидел это. Исходное форматирование сохранено.
    Это пиздец, товарищи. Кложур как язык - очень хорош, вот прям очень. Но мне в голове не укладывается что вот эта патлатая курва https://github.com/richhickey создатель такого крутого языка, не умеет в форматирование кода. Весь репозиторий - тупо рандом. Как блять, можно делать реализацию языка и даже блять не сделать код стайл. Вы можете подумать, что это и есть код стайл. Но хер там плавал, местами есть привычное джавовское форматирование, местами куча закоментированного кода. Короче полный бардак. Вот, наслаждайтесь https://github.com/clojure/clojure

    На самом деле я не сильно то и разочарован. Да и вообще, я пытался смотреть видео с его докладами - меня просто тошнит от него. Тошнит точно так же, как от препода из универа, который вроде бы и шарит, вроде бы и что-то рассказывает, но без малейшего энтузиазма - просто поток текста, монотонный и неинтересный. У человека просто нету таланта/желания именно донести и поджечь интерес.
    За создание кложура я его уважаю. Мне просто непонятно, как человек который создал такой хороши язык, не имеет понятия код стайл. Ваши мисли?

    Lorip1971, 11 Февраля 2020

    Комментарии (69)
  11. Pascal / Говнокод #26433

    0

    1. 1
    https://pastebin.com/ABfdEgS5

    Выкладываю не глядя мой код примерно 12-го года.

    vistefan, 10 Февраля 2020

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