1. Список говнокодов пользователя mozg_raka

    Всего: 14

  2. C# / Говнокод #14123

    +130

    1. 1
    List<KeyValuePair<string, string>> documentList = GetList();

    использование списка пар ключ-значение вместо словаря (Dictionary<string, string>)

    mozg_raka, 22 Ноября 2013

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

    +114

    1. 1
    2. 2
    3. 3
    //request.IsSecureConnection и TargetHttps - булевы переменные
    
    if (!(request.IsSecureConnection ^ TargetHttps))

    вместо if (request.IsSecureConnection == TargetHttps)

    mozg_raka, 31 Июля 2013

    Комментарии (72)
  4. SQL / Говнокод #12617

    −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
    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
    /*здесь было много кода*/
    
    DECLARE @Strings TABLE /* in this temporary table we keep all strings, even the names of the elements, since they are 'escaped' in a different way, and may contain, unescaped, brackets denoting objects or lists. These are replaced in the JSON string by tokens representing the string */
        (
         String_ID INT IDENTITY(1, 1),
         StringValue NVARCHAR(MAX)
        )
      SELECT--initialise the characters to convert hex to ascii
        @characters='0123456789abcdefghijklmnopqrstuvwxyz',
      /* firstly we process all strings. This is done because [{} and ] aren't escaped in strings, which complicates an iterative parse. */
        @parent_ID=0;
      WHILE 1=1 --forever until there is nothing more to do
        BEGIN
          SELECT
            @start=PATINDEX('%[^a-zA-Z]["]%', @json collate SQL_Latin1_General_CP850_Bin);--next delimited string
          IF @start=0 BREAK --no more so drop through the WHILE loop
          IF SUBSTRING(@json, @start+1, 1)='"'
            BEGIN --Delimited Name
              SET @start=@Start+1;
              SET @end=PATINDEX('%[^\]["]%', RIGHT(@json, LEN(@json+'|')-@start) collate SQL_Latin1_General_CP850_Bin);
            END
          IF @end=0 --no end delimiter to last string
            BREAK --no more
          SELECT @token=SUBSTRING(@json, @start+1, @end-1)
          --now put in the escaped control characters
          SELECT @token=REPLACE(@token, FROMString, TOString)
          FROM
            (SELECT
              '\"' AS FromString, '"' AS ToString
             UNION ALL SELECT '\\', '\'
             UNION ALL SELECT '\/', '/'
             UNION ALL SELECT '\b', CHAR(08)
             UNION ALL SELECT '\f', CHAR(12)
             UNION ALL SELECT '\n', CHAR(10)
             UNION ALL SELECT '\r', CHAR(13)
             UNION ALL SELECT '\t', CHAR(09)
            ) substitutions
          SELECT @result=0, @escape=1
      --Begin to take out any hex escape codes
          WHILE @escape>0
            BEGIN
              SELECT @index=0,
              --find the next hex escape sequence
              @escape=PATINDEX('%\x[0-9a-f][0-9a-f][0-9a-f][0-9a-f]%', @token collate SQL_Latin1_General_CP850_Bin)
              IF @escape>0 --if there is one
                BEGIN
                  WHILE @index<4 --there are always four digits to a \x sequence  
                    BEGIN
                      SELECT --determine its value
                        @result=@result+POWER(16, @index)
                        *(CHARINDEX(SUBSTRING(@token, @escape+2+3-@index, 1),
                                    @characters)-1), @index=@index+1 ;
            
                    END
                    -- and replace the hex sequence by its unicode value
                  SELECT @token=STUFF(@token, @escape, 6, NCHAR(@result))
                END
            END
          --now store the string away
          INSERT INTO @Strings (StringValue) SELECT @token
          -- and replace the string with a token
          SELECT @JSON=STUFF(@json, @start, @end+1,
                        '@string'+CONVERT(NVARCHAR(5), @@identity))
        END

    парсинг json-строки sql скриптом. полная версия тут : https://www.simple-talk.com/sql/t-sql-programming/consuming-json-strings-in-sql-server/

    mozg_raka, 20 Февраля 2013

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

    +114

    1. 1
    EventTypeId = (int)Enum.Parse(typeof(AmazonMailingLogEventType), Enum.GetName(typeof(AmazonMailingLogEventType), AmazonMailingLogEventType.SendEmailError))

    вместо
    EventTypeId = (int)AmazonMailingLogEventType.SendEmail Error

    mozg_raka, 11 Апреля 2012

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

    +140

    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
    try
    {
    	client.SendData(xml);
    }
    catch(Exception e)
    {
    	string s = e.ToString();
    	if(s.Substring(0,80)=="System.InvalidOperationException: Operation not allowed on non-connected sockets")
    	{
    		client.tcpclient.Close();
    		clients.Remove(client.SessionId);
    	}
    	else if (s.Substring(0,71)=="System.IO.IOException: Unable to write data to the transport connection")
    	{
    		client.tcpclient.Close();
    		clients.Remove(client.SessionId);
    	}
    	else
    	{
    		client.tcpclient.Close();
    		clients.Remove(client.SessionId);
    	}
    }

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

    mozg_raka, 15 Марта 2011

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

    +125

    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
    int code = 300;
    
                if (
                    ex is Exceptions.ApiErrorNotFoundException ||
                    ex is Exceptions.CardAuthHistoryNotFoundException ||
                    ex is Exceptions.CardNotFoundException ||
                    ex is Exceptions.CardStateNotFoundException ||
                    ex is Exceptions.CurrencyNotFoundException ||
                    ex is EmailTemplateNotFoundException ||
                    ex is Exceptions.ExchangeRateNotFoundException ||
                    ex is Exceptions.InfoBlockNotFoundException ||
                    ex is InvoiceNotFoundException ||
                    ex is Exceptions.InvoiceStateNotFoundException ||
                    ex is Exceptions.ManagerNotFoundException ||
                    ex is Exceptions.PasswordRecoveryNotFoundException ||
                    ex is Exceptions.PayCommissionNotFoundException ||
                    ex is Exceptions.PaymentStateNotFoundException ||
                    ex is Exceptions.PaymentTypeNotFoundException ||
                    ex is Exceptions.PaySystemNotFoundException ||
                    ex is Exceptions.PersonNotFoundException ||
                    ex is Exceptions.SecretWordNotFoundException ||
                    ex is ShopNotFoundException ||
                    ex is SiteNotFoundException ||
                    ex is Exceptions.SysSettingsNotFoundException ||
                    ex is Exceptions.SysWalletNotFoundException ||
                    ex is Exceptions.TariffNotFoundException ||
                    ex is Exceptions.UserNotFoundException ||
                    ex is Exceptions.UserParamsNotFoundException ||
                    ex is Exceptions.WorldCurrencyNotFoundException ||
                    ex is Exceptions.WorldExchangeRateNotFoundException
                    )
                {
                    code = 504;
                }

    mozg_raka, 18 Октября 2010

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

    +143

    1. 1
    </body></html></div><!-- generation time = <b>362</b> ЛЯ -->

    не говнокод, просто лучик ненависти верстальщика

    mozg_raka, 18 Октября 2010

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

    +114

    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
    public partial class Chat : System.Web.UI.Page
    {
    ...
        private List<string> Messages
        {
            get { return (List<string>)Cache["messages"]; }
            set { Cache.Insert("messages", value); }
        }
    protected void btnAddMessage_Click(object sender, EventArgs e)
        {
            if (this.Messages != null)
            {
                this.Messages.Add(string.Format("{0} say :{1}\n", this.UserName, tbUserMessage.Text));
                // wai... oh shi---
                this.Messages = this.Messages;
            }
        }
    }

    mozg_raka, 11 Октября 2010

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

    +144

    1. 1
    2. 2
    // TODO: Rewiew
    // ...

    жопой чую, что ниже этих строк - пиздец

    mozg_raka, 19 Августа 2010

    Комментарии (1)
  11. JavaScript / Говнокод #3745

    +172

    1. 1
    function getCodeByCode(code)

    хорошее название функции

    mozg_raka, 20 Июля 2010

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