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

    Всего: 6

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

    +121

    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
    /// Разрезать строку на части длиной не более maxRecordLen
      private static void splitText(ref List<string> splitTextArray,  string text) {
        splitTextArray = new List<string>();
        for (; ; ) {
          try {
            string str = text.Substring(0, maxRecordLen);
            splitTextArray.Add(str);
            try {
              text = text.Substring(maxRecordLen);
            }
            catch (Exception) {
              break;
            }
          }
          catch (Exception) {
            splitTextArray.Add(text);
            break;
          }
        }
      }

    no comment.

    diimdeep , 17 Июля 2013

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

    +134

    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
    public static int fullBendList(out List<MnOneBend> bendList, double angle, int angType, double diameter) {
          bendList = new List<MnOneBend>(); if (bendList == null) return Utils.ecError;
          List<double> angArray = new List<double>(); if (angArray == null) return Utils.ecError;
          if (angType < 1 || angType > 3 || angle < 0) { Utils.ErrorMessage("FULLBENDLIST"); return Utils.ecError; }
          MnBendHard bend = (MnBendHard)MnBend.createBend(angType); if (bend == null) return Utils.ecError;
          MnBend.getBendAngleList(ref angArray, diameter, angType);
          for (int i = 0; i < angArray.Count; i++) {
            double ang = Math.Abs(angArray[i]) * Utils.PI / 180; if (ang > angle + Utils.EPS) continue;
            List<MnOneBend> oneBendList = new List<MnOneBend>(); if (oneBendList == null) return Utils.ecError;
            if (bend.oneBendAngArray(ref oneBendList, ang, diameter) != Utils.ecNorm) return Utils.ecError;
            if (oneBendList.Count != 1) { Utils.ErrorMessage("FULLBENDLIST"); return Utils.ecError; }
            bendList.Add(oneBendList[0]);
          }
          return Utils.ecNorm;
        }

    Сохранено оригинальное форматирование, так как это неотъемлемый элемент данного произведения. Utils.PI - настоящий правильный ! Exception ? - Не, не слышал. П.С. Автор отказывает устонавливать ReSharper. Как вылечить пациента ?

    diimdeep , 11 Июля 2013

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

    +132

    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
    /// <summary>
            ///  Десериализация класса грунтов
            /// </summary>
            public static SGGlist DeserializeSgg(XmlDocument doc)
            {
                string dir = System.IO.Path.GetTempPath();
    
                try
                {
                    doc.Save(dir + "_sgg.xml");
                }
                catch (Exception exc)
                {
                    Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("Ошибка сброса XML-документа в файл");
                    return null;
                }
    
                SGGlist sggList = new SGGlist();
    
                FileStream fs;
                try
                {
                    fs = new FileStream(dir + "_sgg.xml", FileMode.Open);                                          // инициализация объекта класса чтения файла
                }
                catch (Exception exc)
                {
                    Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("Ошибка чтения XML-файла");
                    return null;
                }
    
                XmlSerializer r_serializer = new XmlSerializer(typeof(SGGlist));                                // инициализация объекта класса десериализации 
                r_serializer.UnknownNode += new XmlNodeEventHandler(r_serializer_UnknownNode);                  // подключение события обнаружения неизвестного узла 
                r_serializer.UnknownAttribute += new XmlAttributeEventHandler(r_serializer_UnknownAttribute);   // подключение события обнаружения неизвестного атрибута
    
                try
                {
                    sggList = (SGGlist)r_serializer.Deserialize(fs);                                            // Десериализация в класс приема данных
                }
                catch (Exception exc)                                                                                           // Исключение при десериализации
                {
                    Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("Рассогласование классов");
                    fs.Close();
                    return null;
                }
    
                fs.Close();
    
                return sggList;
            }

    diimdeep , 10 Июля 2013

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

    +138

    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
    public bool ParsеOboznString(string obozn)
            {
                Thread.CurrentThread.CurrentCulture = new CultureInfo("ru-RU");  // Установка русской культуры
    
                try
                {
                    Regex reg = new Regex(@"(\D*)(\d*)([^\+]*)[\+]?(\d+[,]\d+)*");    // регулярное выражение
                    Match m = reg.Match(obozn);                                                            // разбор строки обозначения
                    ....
                    ....
                    ....
                }
                catch
                {
                    return false;
                }
    
                return true;
            }

    "культурный" код и "содержательные" комментарии

    diimdeep , 22 Апреля 2013

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

    +106

    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
    using System;
    using System.Windows.Forms;
    using System.Collections.Generic;
    using System.Text;
    using System.Xml.Linq;
    
    namespace SplitSpace {
      class Program  {
        static void Main(string[] args) { 
            test();
        }
      
        static void test() {
          if(testfun(0, 0, 3, 1020, 0.05*180/Utils.PI, 1,  40, 5.80020838542985, 5.80020838542985, 0.0125032560359095)) return;
          if(testfun(0, 0, 3, 1020, 0.05*180/Utils.PI, 2,  5, 1.75, 9.85005209635745, 0.00156290700448869)) return;
          if(testfun(0, 0, 3, 1020, 0.05*180/Utils.PI, 3,  1.5, 0.0375078144536192, 0.0375078144536192, 0.000468872101346607)) return;
          if(testfun(0, 0, 3, 219, 0.00, 1,  15.000, 4.900000000, 4.900000000, 0.000000000)) return;
          if(testfun(0, 0, 3, 219, 0.50, 1,  15.000, 4.900000415, 4.900000415, 0.000142791)) return;
          if(testfun(0, 0, 3, 219, 5.00, 1,  15.000, 4.900415674, 4.900415674, 0.014290277)) return;
          if(testfun(0, 0, 3, 219, 5.10, 1,  15.000, 4.900441130, 4.900441130, 0.014868082)) return;
          if(testfun(0, 0, 3, 219, 5.90, 1,  15.000, 4.900683170, 4.900683170, 0.019903983)) return;
          // Спустя 8369 строчек
          // ...
          // ...
          // ...
          if(testfun(2, 1, 4, 1420, 55.00, 2,  7.000, 5.512975201, 5.512975201, 1.316853521)) return;
          if(testfun(2, 1, 4, 1420, 60.00, 2,  7.000, 5.817691454, 5.817691454, 1.558845727)) return;
          if(testfun(2, 1, 4, 1420, 66.00, 2,  7.000, 6.589343466, 6.589343466, 1.708953962)) return;
          if(testfun(2, 1, 4, 1420, 75.00, 2,  7.000, 7.385125168, 7.385125168, 2.367207113)) return;
          if(testfun(2, 1, 4, 1420, 85.10, 2,  7.000, 8.438873737, 8.438873737, 3.248627191)) return;
          if(testfun(2, 1, 4, 1420, 89.00, 2,  7.000, 8.848026526, 8.848026526, 3.610990132)) return;
          if(testfun(2, 1, 4, 1420, 89.99, 2,  7.000, 8.932590260, 8.932590260, 3.699354242)) return;
          if(testfun(2, 1, 4, 1420, 90.00, 2,  7.000, 8.932590181, 8.932590181, 3.700000000)) return;
    
          MessageBox.Show("OK!"); 
        }
    
        static bool testfun(int dir, int coolType, int hotType, double dia, double angG, int angType,  double Rad, double Tan1, double Tan2, double Bis) {
          // тут всякие тесты
          // ...
          // ...
          // ...
          return false;
        }
    
      } 
    }

    diimdeep , 04 Марта 2013

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

    +145

    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
    /* 
     * Тема: "Двумерные массивы"
     * Разработать программу для решения указанной ниже задачи.
     * Поиск строк или столбцов и преобразование матрицы оформить в виде подпрограммы.
     * Глобальные переменные не использовать.
     * В заданной матрице поменять местами столбцы, содержащие следующие элементы:
     * первый четный и последний нечетный.
     */
    #include <stdio.h>
    
    void raschet(int a[][20], int size, int *key) {
    	/*******************************************
    	 * Поиск столбцов и преобразование матрицы */
    	int i, j;							/* Индексы массива */
    	int buffer;							/* Временное место для копирования элементов столбца */
    	int first, second;					/* Первый и второй столбцы удовлетворяющие условию соответственно */
    	int flag = 1;						/* Переключатель найденых столбцов */
    	*key = 0;							/* Обнулить сообщение для главной программы о выполнении условия */
    	
    	
    	for(j=0; j<size; j++)						/* Перебор столбцов	*/
    		if(a[0][j]%2==0 && a[size-1][j]%2!=0) {	/* Если найден удовлетворяющий условию столбец	*/
    			if(flag == 1) {						/* Если найден первый столбец */
    				first = j;						/* Записать его положение в first */
    				flag = 2;						/* В случае нахождения след. столбца выполнится след. else if */
    				*key = 1;						/* Сообщить главной программе что найден 1 столбец уд. усл. */
    			}
    			else if(flag == 2) {				/* Если найден второй */
    				second = j;						/* Записать его положение в second */		
    				*key = 2;						/* Сообщение для главной программы о выполнении условия задачи */
    				for(i=0; i<size; i++) {			/* Перебор элементов столбцов*/
    					buffer=a[i][first];			/* Элемент столбца first копируется в buffer  */
    					a[i][first]=a[i][second];	/* Элемент столбца second копируется вместо эл-та first */
    					a[i][second]=buffer;		/* Элемент из buffer копируется в столбец second */
    				}
    				first = j;						/* Записать положение текущего столбца в first */
    			}
    		}		
    }	
    void main() {
    	int key;							/* Сообщение для главной программы о выполнении условия */
    	int i, j;							/* Индексы элементов масcивов */
    	int size = 8;							/* Размерность массива(матрицы) */ 
    	/***************
    	 * Ввод данных */
            int a[20][20] = {
                    {1, 2, 3, 4, 6, 8, 7, 2},
                    {1, 2, 3, 4, 1, 1, 2, 3},
                    {1, 2, 3, 4, 5, 3, 3, 3},
                    {2, 5, 7, 9, 3, 1, 2, 3},
                    {2, 5, 7, 9, 3, 1, 2, 3},
                    {2, 5, 7, 9, 3, 1, 2, 3},
                    {2, 5, 7, 9, 3, 1, 2, 3},
                    {2, 5, 7, 9, 3, 5, 2, 9}
            };  
    	/*************************
    	 * Вывод исходных данных */
    	system("cls");
    	printf("В заданной матрице поменять местами столбцы, содержащие следующие элементы:\n");
    	printf("первый четный и последний нечетный.\n");
    	printf("\nИсходная матрица имеет вид:\n");
    	for(i=0; i<size; i++) {
    		for (j=0; j<size; j++)
    			printf("%5d", a[i][j]);
    			printf("\n");
    	}
    	raschet(a, size, &key);				/* Функция поиска столбцов и преобразования матрицы */
    	/*********************
    	 * Вывод результата */ 	
    	if(key == 0)
    		printf("\nСтолбцов удовлетворяющих условию не найдено.");
    	else if(key == 1)
    		printf("\nНайден только один столбец удовлетворяющий условию.");
    	else {
    		printf("\nРезультирующая матрица имеет вид:\n");
    		for(i=0; i<size; i++) {
    			for (j=0; j<size; j++)
    			printf("%5d", a[i][j]);
    			printf("\n");
    		}
    	}
    	printf("\n\n");
    	printf("Конец!\n");
    	system("PAUSE");
    }

    http://ideone.com/3Qa2n оно выполняется !
    что тут говно, а что стерильно ?

    diimdeep , 12 Января 2011

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