1. PHP / Говнокод #4383

    +172

    1. 1
    <td><?="ID"?>:</td>

    Пример из документации Bitrix
    http://dev.1c-bitrix.ru/api_help/main/general/admin.section/classes/cadminfilter

    Rpsl, 18 Октября 2010

    Комментарии (18)
  2. Java / Говнокод #4382

    +75

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    StringUtils.join(
                    Collections2.transform(Arrays.asList(ArrayUtils.toObject(data)),
                            new Function<Byte, String>() {
    
                                @Override
                                public String apply(final Byte from) {
                                    return "0x" + Integer.toHexString(from);
                                }
                            }), " ")

    data имеет тип byte[]

    в питоне это было бы ' '.join(map(hex, data))

    burdakovd, 18 Октября 2010

    Комментарии (7)
  3. PHP / Говнокод #4381

    +159

    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
    function randomPassword($length = 8, $seed = '') {
    	$password = "";
    	$possible = "0123456789";
    	$i = 0;
    	mt_srand(($seed == '') ? rand() : $seed);
    	while ($i < $length) {
    		$char = substr($possible, mt_rand(0, strlen($possible) - 1), 1);
    		if (!strstr($password, $char)) {
    			$password .= $char;
    			$i++;
    		}
    	}
    	return $password;
    }

    думаю пора создавать отдельный радел на сайте посвящённый высерам призванным генерировать пароли

    DrFreez, 18 Октября 2010

    Комментарии (7)
  4. Java / Говнокод #4380

    +71

    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
    class LinkedListVector{
        public int crd;
        public int length;
        LinkedListVector head;
        LinkedListVector next;
        LinkedListVector prev;
        LinkedListVector(){
            this.head=this;
            this.prev=this;
            this.next=this;
            this.length=0;
        }
        LinkedListVector(int val){
            LinkedListVector save=this.head.prev;
            this.prev=this.head.prev;
            this.next=this.head;
            this.next.prev=this;
            save.next=this;
            this.head.length++;
            this.crd=val;
        }
    }

    Эпичнейшая попытка реализовать двусвязный циклический список.

    kir_rik, 18 Октября 2010

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

    +124

    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
    namespace Test.Data
    {
        public class Connection
        {
            public static SqlConnection getConnection()
            {
                string server = "";
    
                if (!File.Exists(@"C:\ConnectionParameters.ini"))
                    LogFileAdministration.WriteMessage("The ConnectionParameters.ini file does not exist.");
    
                else
                {
                    StreamReader reader = new StreamReader(@"C:\ConnectionParameters.ini");
                    server = reader.ReadLine();
                    reader.Close();
                }
    
                return new SqlConnection(@"Data Source= " + server + "; Integrated Security=SSPI; Initial Catalog=Test");
            }
        }
    }

    Итальянский программист. Из Италии. Внезапно попросился на работу. Отослал резюме. Дали ему тестовое задание - намутить поиск по табличке, по ключевой фразе с пейджингом.
    Что из этого вышло - смотрим улыбаемся.

    ursus, 18 Октября 2010

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    srand(time(0));
    for (i = 0; i < 10000; i++) {
        sprintf(qtrc, "/tmp/%010d", rand());
        if (!mkdir(qtrc, 0700))
            goto okay;
    }
    logPanic("Cannot create $HOME\n");
    okay:

    Исходники KDM

    proDOOMman, 17 Октября 2010

    Комментарии (19)
  7. Pascal / Говнокод #4377

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    program test;
    var i : boolean;
    begin
    i := true;
    if i then while true do Writeln('WAR IS TRUE!!!')
    else Writeln('FALSE');
    end.

    Pascal...

    Мартин, 17 Октября 2010

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

    +164

    1. 1
    2. 2
    3. 3
    if( empty( $page ) || empty( $_REQUEST['page'])) {
    	if( !empty($_REQUEST['amp;page'])) {
    		$page = $_REQUEST['amp;page'];

    из VirtueMart - компонента для Джумлы.
    интересно, почему нету проверок на $_REQUEST['amp;amp;page']; и $_REQUEST['amp;amp;amp;page']; ?

    Shock, 17 Октября 2010

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    std::string ScriptInfo::GetDebugInfo() const
    {
        char sz[256];
        sprintf(sz, "%s ('%s' script id: %u)", GetScriptCommandName(command).c_str(), GetScriptsTableNameByType(type).c_str(), id);
        return std::string(sz);
    }

    Может, не совсем говнокод, но меня от подобного коробит.

    Oops, 17 Октября 2010

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

    +144

    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
    public void onMessage(final NetConnection connection, final NetMessage message) {
        final ClientConnection client = (ClientConnection) connection;
        if (message.isCommand(Protocol.CMD_LOGIN)) {
          if (this.auth(client,
              message.getParameter(Protocol.PARAM_NAME, String.class))) {
            final NetMutableMessage msgLogin = new NetMutableMessage(
                Protocol.CMD_LOGIN);
            msgLogin.addParameter(Protocol.PARAM_FROM, client.getNick());
            this.writeMessage(client, null, msgLogin);
          } else {
            this.removeConnection(client);
          }
        }
        if (message.isCommand(Protocol.CMD_LOGOUT)) {
          final NetMutableMessage msgLogout = new NetMutableMessage(
              Protocol.CMD_LOGOUT);
          msgLogout.addParameter(Protocol.PARAM_FROM, client.getNick());
          this.writeMessage(client, null, msgLogout);
          this.removeConnection(client);
        }
        if (message.isCommand(Protocol.CMD_STATUS)) {
          final NetMutableMessage msgStatus = new NetMutableMessage(
              Protocol.CMD_STATUS);
          msgStatus.addParameter(Protocol.PARAM_TYPE,
              message.getParameter(Protocol.PARAM_TYPE));
          msgStatus.addParameter(Protocol.PARAM_FROM, client.getNick());
          this.writeMessage(client, null, message);
          this.removeConnection(client);
        }
        if (message.isCommand(Protocol.CMD_USERS)) {
          final NetMutableMessage msgUsers = new NetMutableMessage(
              Protocol.CMD_USERS);
          msgUsers.addParameter("list", this.getUsers(connection));
          this.writeMessage(client, msgUsers, null);
        }
        if (message.isCommand(Protocol.CMD_SAY)) {
          final NetMutableMessage msgSay = new NetMutableMessage(Protocol.CMD_SAY);
          msgSay.addParameter(Protocol.PARAM_FROM, client.getNick());
          msgSay.addParameter(Protocol.PARAM_MESSAGE,
              message.getParameter(Protocol.PARAM_MESSAGE));
          if (null == message.getParameter(Protocol.PARAM_TO)) {
            this.writeMessage(client, msgSay, msgSay);
          } else {
            this.writeMessage(
                message.getParameter(Protocol.PARAM_TO, String.class), msgSay, null);
          }
        }
        if (message.isCommand(Protocol.CMD_MOVE)) {
          final NetMutableMessage msgMove = new NetMutableMessage(Protocol.CMD_MOVE);
          msgMove.addParameter(Protocol.PARAM_FROM, client.getNick());
          msgMove.addParameter(Protocol.PARAM_CODE,
              message.getParameter(Protocol.PARAM_CODE));
          this.writeMessage(message.getParameter(Protocol.PARAM_TO, String.class),
              msgMove, null);
        }
        if (message.isCommand(Protocol.CMD_OFFER)) {
          final NetMutableMessage msgOffer = new NetMutableMessage(
              Protocol.CMD_OFFER);
          msgOffer.addParameter(Protocol.PARAM_FROM, client.getNick());
          this.writeMessage(message.getParameter(Protocol.PARAM_TO, String.class),
              msgOffer, null);
        }
        if (message.isCommand(Protocol.CMD_ACCEPT)) {
          final NetMutableMessage msgAccept = new NetMutableMessage(
              Protocol.CMD_ACCEPT);
          msgAccept.addParameter(Protocol.PARAM_FROM, client.getNick());
          this.writeMessage(message.getParameter(Protocol.PARAM_TO, String.class),
              msgAccept, null);
        }
        if (message.isCommand(Protocol.CMD_DECLINE)) {
          final NetMutableMessage msgDecline = new NetMutableMessage(
              Protocol.CMD_DECLINE);
          msgDecline.addParameter(Protocol.PARAM_FROM, client.getNick());
          this.writeMessage(message.getParameter(Protocol.PARAM_TO, String.class),
              msgDecline, null);
        }
        if (message.isCommand(Protocol.CMD_END)) {
          final NetMutableMessage msgEnd = new NetMutableMessage(Protocol.CMD_END);
          msgEnd.addParameter("player1",
              message.getParameter(Protocol.PARAM_TO, String.class));
          msgEnd.addParameter("player2", client.getNick());
          this.writeMessage(message.getParameter(Protocol.PARAM_TO, String.class),
              null, msgEnd);
        }
      }

    нагкодил свежачок, прямиком из IDE Eclipse :)

    разрабатываю сетевую мини-игрушку с чатом. Данный метод -- из серверной части, где сервер принимает приходящие сообщения и реагирует на них.
    Обьем метода и однородность кусков намекает, что это пора рефакторить - вот думаю как.

    Lure Of Chaos, 17 Октября 2010

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