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

    +127.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public static int not(this int i)
    {
          string i2 = Convert.ToString(i, 2),
         res = "";
          foreach (char c in i2)
                res += c == '0' ? '1' : '0';
          return Convert.ToInt32(res, 2);
    }

    Дело было вечером, делать было нечего....

    psina-from-ua, 24 Декабря 2009

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

    +103

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    MessageBox.Show(
     a.Decode(
      new StringBuilder(
       a.Encode(
         new StringBuilder(
           textBox1.Text)).ToString())).ToString());

    Говнокод... ну почти говнокод. Думаю, замечание.

    ajukraine, 22 Декабря 2009

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

    +96.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
    [TestFixture]
        class Program
        {
            static void Main(string[] args)
            {
                .................   
            }
        }
    
        [TestFixture]
        internal class FileParser
        {
            [Test]
            private static string Replace(string inputValue, string oldWord,string newWord)
            {
                return inputValue.Replace(oldWord, newWord);
            }
    
            [Test]
            private static string Remove(string inputValue, string word)
            {
                return inputValue.Replace(word, null);
            }
    
            [Test]
            public string Run(string stringFromFile)
            {
                foreach (var command in _listOfCommands)
                {
                    switch (command.IdCommand)
                    {
                        case 0:
                            stringFromFile = Replace(stringFromFile, command.OldWord, command.NewWord);
                            break;
                        case 1:
                            stringFromFile = Remove(stringFromFile, command.NewWord);
                            break;
                    }
                }
                return stringFromFile;
            }
        }

    программист слишком буквально понял TestDrivenDevelopment :)) взято из консольного приложения

    explosion_head, 19 Декабря 2009

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

    +139.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var viewsId = new List<int>(views.Select(v => v.ViewId).Distinct());
    
    var sviewsId = "," + String.Join(",", viewsId.Select(i => i.ToString()).ToArray()) + ",";
    
    _total = (from d in context.TableA
                                      join uvd in context.TableB on d.DocID equals uvd.DocID
                                      join uv in context.TableC on uvd.ID equals uv.ID
                                      where sviewsId.IndexOf("," + uv.ID.ToString() + ",") > 0
                                      select d.DocID)
                                      .Distinct ()
                                      .Count ();

    Оригинальный способ обойти ограничение на 2100 параметров. А как быстро оно будет работать!
    views, разумеется, из того же контекста.

    eval_2009, 16 Декабря 2009

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

    +99.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    foreach (char c in customField.CustomFieldId.ToLower()
                    .Replace("CustomField".ToLower(), String.Empty))
    {
                    if (c < '0' || c > '9') fieldName += c;
    }

    Догадайтесь что он делает

    arctic, 15 Декабря 2009

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

    +135.7

    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
    private void Form1_Load(object sender, EventArgs e)
            {
                List<defaultItem> EqQty = new List<defaultItem>();
                EqQty.Add(new defaultItem(1, 1.ToString()));
                EqQty.Add(new defaultItem(2, 2.ToString()));
                EqQty.Add(new defaultItem(3, 3.ToString()));
                EqQty.Add(new defaultItem(4, 4.ToString()));
                EqQty.Add(new defaultItem(5, 5.ToString()));
    
                cbEqQty.DataSource = EqQty;
                cbEqQty.ValueMember = "Key";
                cbEqQty.DisplayMember = "Value";
    
                List<defaultItem> PlusQty = new List<defaultItem>();
                PlusQty.Add(new defaultItem(1, 1.ToString()));
                PlusQty.Add(new defaultItem(2, 2.ToString()));
                PlusQty.Add(new defaultItem(3, 3.ToString()));
                PlusQty.Add(new defaultItem(4, 4.ToString()));
                PlusQty.Add(new defaultItem(5, 5.ToString()));
    
                cbPlusQty.DataSource = PlusQty;
                cbPlusQty.ValueMember = "Key";
                cbPlusQty.DisplayMember = "Value";
    }
    
    
    public class defaultItem
        {
            public int Key { get; set; }
    
            public String Value { get; set; }
            /// <summary>
            /// Коснтруктор
            /// </summary>
            /// <param name="Key"></param>
            /// <param name="Value"></param>
            public defaultItem
                (
                int Key,
                String Value
                )
            {
                this.Key = Key;
                this.Value = Value;
            }
        }

    Надо было два дропдауна при загрузке формы заполнить))

    zodchiy, 15 Декабря 2009

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

    +100.5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (Files[i].NeedCompression)
     {
           CompressFile(Files[i], Files[i].FileNameWithPath);
    }
           else
    {
           CompressFile(Files[i], Files[i].FileNameWithPath);
    }

    Если файл нужно сжать, сжимаем, или сжимаем :D
    ps:// 3 года назад писал подобие архиватора, за компрессию отвечала библиотека zlib.net

    nolka4, 11 Декабря 2009

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

    +135

    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
    private string GetDefaultPolicyNameFromRegistry()
        {
            string registryControlCenterKeyName;
            RegistryKey key;
            try
            {
                if (System.Runtime.InteropServices.Marshal.SizeOf(typeof(IntPtr)) == 8)
                    registryControlCenterKeyName = "SOFTWARE\\Wow6432Node\\xxx\\ControlCenter\\";
                else
                    registryControlCenterKeyName = "SOFTWARE\\xxx\\ControlCenter\\";
    
                key = Registry.LocalMachine.OpenSubKey(registryControlCenterKeyName); ;
    
            }
            catch (Exception ex)
            {
                throw new ArgumentException("Registry open 'ControlCenter' key error: " + ex.Message);
            }
    
           return (string)key.GetValue("DefaultPolicy");
        }

    Замечательно проверили на возможность исключений в ветке реестра с помощью try catch.. И также замечательно вынесли получение нужного значения из try catch
    Как результат - после обновления не открываются две страницы, на которых можно было бы создать, просмотреть и етк нужное значение в реестре. Нормальная работа приложения гарантировано заблокирована.

    Проверка битности системы тоже хорошая)

    eiskalt, 10 Декабря 2009

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

    +126.1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    switch (dType) { 
             case "2":
                        return Title + "(" + dTitle + ")";
                        break;
             case "3":
                        return Title + " за " + dDate.ToString("d");
                        break;
             default: return Title;
                        break;
    }

    Чтобы уж наверняка :)

    pe4enov, 08 Декабря 2009

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

    +96.3

    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
    public class zTimer
    {
        object SomeTag;
        int StartTime;
        int TimeOut;
    
        public int Start(int Value, object tag)
        {
            SomeTag = tag;
            TimeOut = Value;
            StartTime = MakeLngTime(DateTime.Now);
            return StartTime;
        }
    
        public int MakeLngTime(DateTime Tm)
        {
           return ((Tm.Day * 24 + Tm.Hour) * 60 + Tm.Minute) * 60 + Tm.Second;
        }
    
        public bool IsTimeOut(object tag)
        {
            if (tag != null && SomeTag != null)
            {
                if (tag == SomeTag)
                {
                    if (MakeLngTime(DateTime.Now) > StartTime + TimeOut)
                    {
                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }
                else
                {
                    StartTime = MakeLngTime(DateTime.Now);
                    SomeTag = tag;
                    return false;
                }
            }
            else
            {
                if (MakeLngTime(DateTime.Now) > StartTime + TimeOut)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
        }
    }

    Могучий таймер. Особое внимание стоит уделить методу MakeLngTime.

    crelian, 07 Декабря 2009

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