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

    В номинации:
    За время:
  2. C# / Говнокод #11870

    +137

    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
    private string ExtractNodeValue(string text, string nodeName)
    {
        string result = string.Empty;
    
        int slength = ("<" + nodeName + ">").Length;
        int sindex = text.IndexOf("<" + nodeName + ">");
        int eindex = text.IndexOf("</" + nodeName + ">");
    
        if (sindex > 0 && eindex > 0)
            result = text.Substring(sindex + slength, eindex - sindex - slength);
    
        return result;
    }
    
    
    
    string request = string.Format("http://maps.google.com/maps/geo?ll={0},{1}&hl=en&output=xml&key=abcdefg", location.latitude, location.longitude);
    Logger.Log(request);
    HttpWebRequest httprequest = (HttpWebRequest)WebRequest.Create(request);
    WebResponse responce = httprequest.GetResponse();
    Stream str = responce.GetResponseStream();
    XmlTextReader reader = new XmlTextReader(str);
    reader.XmlResolver = null;
    XmlDocument doc = new XmlDocument();
    doc.Load(reader);
    str.Close();
    reader.Close();
    
    XmlNodeList listResponse = doc.ChildNodes[1].ChildNodes[0].ChildNodes;
    foreach (XmlNode nodePlace in listResponse)
    {
        if (nodePlace.Name == "Placemark")
        {
            string text = nodePlace.InnerXml;
    
            string Country = ExtractNodeValue(text, "CountryName");
            if ((this.DataContext.Countries.Count(x => x.Name == location.countryName) == 0 || string.IsNullOrWhiteSpace(location.countryName)) &&
                !string.IsNullOrWhiteSpace(Country))
            {
                location.countryName = Country;
            }
    
            string Region = ExtractNodeValue(text, "AdministrativeAreaName");
            if (this.DataContext.States.Count(x => x.AlphaCode == location.region || x.Name == location.region) == 0 &&
                !string.IsNullOrWhiteSpace(Region))
            {
                location.region = Region;
            }
    
            string City = ExtractNodeValue(text, "LocalityName");
            if (this.DataContext.Cities.Count(x => x.Name == location.city) == 0 &&
                !string.IsNullOrWhiteSpace(City))
            {
                location.city = City;
            }
            break;
        }
    }

    отличный парсиг xml.

    mangyst, 04 Октября 2012

    Комментарии (2)
  3. Куча / Говнокод #11779

    +137

    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
    {- Haskell -}
    bruteforceGeneratorWithEasySimplication :: Description d => d -> [StandartTable]
    bruteforceGeneratorWithEasySimplication description =
        let width = size_h description; height = size_v description; vHeader = headerV description in
            do
                table <- genListBasedOn (map lineVariants vHeader)
                return (ST table)
        where
            lineVariants :: [Int] -> [[Bool]]
            lineVariants headerLine = let
                всё_я_задолбался_однако = True -- K.O.
                количество_цельных_блоков = length headerLine
                число_промежутков = количество_цельных_блоков - 1
                число_свободных_пробелов_которые_нам_нужно_распихать_между_цельными_блоками = ширина_поля - суммарная_длина_цельных_блоков
                ширина_поля = size_h description
                суммарная_длина_цельных_блоков = sum headerLine
                
                возможная_строка_использующая :: [Int] -> [Bool]
                возможная_строка_использующая разбиение = replicate (head разбиение) False ++ 
                    concat (zipWith (\x y -> replicate y True ++ replicate x False) (tail разбиение) headerLine)
                
                и = and
                по = undefined
                
                in do
                    разбиение <- получить_разбиение_для_строки по (число_свободных_пробелов_которые_нам_нужно_распихать_между_цельными_блоками) и (число_промежутков)
                    return (возможная_строка_использующая разбиение :: [Bool])
    
    получить_разбиение_для_строки по числу_свободных_элементов и числу_промежутков = do ...

    Из раннего.

    По-видимому, задолбался писать на тарабарщине, захотелось выражаться родными русскими словами.

    Jean-Esther, 16 Сентября 2012

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

    +137

    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
    public static IEnumerable<Step> OdometerPeriodicChecker(ScaleContext context)
        {
          //проверить, существуют ли таблицы
          OdometerTaskHlp.CheckAndCreateTables();
    
          while (context.IsRunning)
          {
            //Десятисекундная задержка после запуска программы
            yield return new WaitStep(TimeSpan.FromSeconds(10));
    
            try
            {
              foreach (LightAuto auto in context.Auto.All)
              {
                //CarOdometerChecker(context, auto);
              }
    
            }
            catch (Exception ex)
            {
              TraceHlp2.WriteException(ex);
            }
    
            //задержка выполнения задачи на 3 часа
            yield return new WaitStep(TimeSpan.FromSeconds(OdometerTaskHlp.TimeInterval * 3600));
          }

    Они запускают отдельный поток,
    в потоке запускают этот метод while (context.IsRunning).
    Потом им надо вернуться из задачи, для этого используется yield return.

    Flyperformances, 06 Сентября 2012

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

    +137

    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
    {
        //конструктор
        public MotionEventsController(VideoServer server, MSO2Rotator rotator, Log log, Button recordButton)
        {
            _server = server;
            _rotator = rotator;
            _log = log;
            _recordButton = recordButton;
        }
        public void Record(MotionDetectorFilter filter, MotionObjectsArgs movingObjects)
        {
            _server.StartRecord();
             IsRecording = true;
            _recordButton.BackColor = Color.Red;
            switch (_server.Name)
            {
                case ServerNames.ColorServer:
                    _log(Resources.ColorStartRecord, String.Empty);
                    break;
                case ServerNames.BwServer:
                    _log(Resources.BWStartRecord, String.Empty);
                    break;
                case ServerNames.ThermalServer:
                    _log(Resources.ThermalStartRecord, String.Empty);
                    break;
            }    
        }
    }

    Класс, принимающий кнопку записи в конструкторе.

    Flyperformances, 05 Сентября 2012

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

    +137

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    string[] CfgStrings = File.ReadAllLines(path);
    title = CfgStrings[0].Replace("Тема: ", "");
    message = CfgStrings[1].Replace("Сообщение: ", "");
    ThreadsCount = Convert.ToInt32(CfgStrings[2].Replace("Потоков: ", ""));
    passwd = CfgStrings[3].Replace("Пароль удаления: ", "");
    board = CfgStrings[4].Replace("Доска: ", "");
    thread = CfgStrings[5].Replace("Тред(если вайпаете доску, поставьте 0): ", "");
    repeat = Convert.ToBoolean(CfgStrings[6].Replace("Зациклить вайп: ", ""));
    proxies = LoadProxies(CfgStrings[7].Replace("Файл с проксями: ", ""));

    хуита, 29 Августа 2012

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

    +137

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    private static Tag GetTopic(Guid tagId)
    {
     var tag = DataService.PerThread.TagSet.SingleOrDefault(x => x.Id == tagId);
     if (tag == null && tag.GroupId != null)
      return null;
    
     if (tag.TopicState != (byte)TopicState.GroupTopic)
      return null;
    
     return tag;
    }

    Arbium, 08 Августа 2012

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

    +137

    1. 1
    model = (IModel)Activator.CreateInstance("DataModel", type).Unwrap() as IModel;

    Maps, 01 Августа 2012

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

    +137

    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
    void
    meta_window_constrain (MetaWindow          *window,
                           MetaFrameBorders    *orig_borders,
                           MetaMoveResizeFlags  flags,
                           int                  resize_gravity,
                           const MetaRectangle *orig,
                           MetaRectangle       *new)
    {
      ConstraintInfo info;
    
      /* ... */
    
      setup_constraint_info (&info, window,  orig_borders, flags, resize_gravity, orig, new);
    
      /* ... */
    
      /* Ew, what an ugly way to do things.  Destructors (in a real OOP language,
       * not gobject-style--gobject would be more pain than it's worth) or
       * smart pointers would be so much nicer here.  *shrug*
       */
      if (!orig_borders)
        g_free (info.borders);
    }
    
    static void
    setup_constraint_info (/* ... */)
    {
      /* ... */
    
      /* Create a fake frame geometry if none really exists */
      if (orig_borders && !window->fullscreen)
        info->borders = orig_borders;
      else
        info->borders = g_new0 (MetaFrameBorders, 1);
    
      /* ... */
    }

    http://git.gnome.org/browse/mutter/tree/src/core/constraints.c

    rat4, 29 Июня 2012

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

    +137

    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
    public class Problem33 {
        public static void main(String arg[]){
            long l1 = Calendar.getInstance().getTimeInMillis();
            int amount = 0;
            for(int a=1; a<=9; a++){
                for(int b=1; b<=9; b++){
                    for(int c=1; c<=9; c++){
                        for(int d=1; d<=9; d++){
                            int numerator = a*10+b;
                            int denominator = c*10+d;
                            double fraction = 1.0*numerator/denominator;
                            if(numerator < denominator){
                                if(
                                  (a==c && (1.0*b/d == fraction)) ||
                                  (a==d && (1.0*b/c == fraction)) ||
                                  (b==c && (1.0*a/d == fraction)) ||
                                  (b==d && (1.0*a/c == fraction))
                                  ){
                                    amount++;
                                    System.out.println(a + "" +  b + "/" + c + "" + d);
                                 }
                            }
                        }
                    }
                }
            }
            System.out.println(amount);
            long l2 = Calendar.getInstance().getTimeInMillis();
            System.out.println("Time: " + (l2-l1) + "ms");
        }
    }

    http://projecteuler.net/problem=33
    http://projecteuler.net/thread=33

    TheHamstertamer, 24 Июня 2012

    Комментарии (19)
  11. Си / Говнокод #11265

    +137

    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
    #define FMT_2_LEN  16
    #define FMT_4_LEN  24
    // и т.д. всего около десятка форматов
    
    void calc_check_code(const unsigned char * from, unsigned fmt, unsigned * code)
    {
        switch (fmt) {
        case 2:
            //...
            memset(data, 0, sizeof(FMT_2_LEN));
            // выборочное наполнение data из from
            make_code(data, FMT_2_LEN, code);
            break;
        case 4:
            //...
            memset(data, 0, sizeof(FMT_4_LEN));
            // выборочное наполнение data из from
            make_code(data, FMT_2_LEN, code);
            break;
        // для всех остальных аналогично
    }

    странно, и почему контрольный код не совпадает с эталонными примерами...

    defecate-plusplus, 20 Июня 2012

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