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

    В номинации:
    За время:
  2. Куча / Говнокод #4688

    +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
    Hello, DooMer!
    
    Это письмо было выслано вам по запросу на восстановление пароля на сайте Говнокод.ру
    (если вы не запрашивали восстановление пароля, просто удалите это письмо)
    
    Для смены пароля пройдите по этой ссылке:
    http://govnokod.ru/user/recover?code=b3ce368189242ab2690203d1571c6974
    (ссылка будет работать в течение суток)
    
    
    
    С уважением, Ваш Говнокод.

    Восстановление забытого пароля на govnokod.ru

    DooMer, 19 Ноября 2010

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

    +78

    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
    package com.fl.nat;
    
    import java.io.File;
    
    public class Status {
        static {
            System.load(new File("libstatus-remote.dll").getAbsolutePath());
        }
        
        public native int testLoaded();
        private native String listProcessess0();
    
        public SystemProcess[] listProcessess() {
            String proc = this.listProcessess0();
            String[] procs = proc.split(";");
    
            SystemProcess[] list = new SystemProcess[procs.length];
    
            int count = 0;
            for(String s : procs) {
                list[count++] = new SystemProcess(s.split(",")[0], Integer.parseInt(s.split(",")[1]));
            }
            
            return list;
        }
    }

    говнокодовость станет понятка как только я выложу C++ часть этого говна

    danilissimus, 19 Ноября 2010

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

    +155

    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
    if(!CModule::IncludeModule("iblock")) return;
    		
    		$ID_PRODUCT = $_POST['prod_id'];
    		$ID_USER = $USER->GetID();
    		$TEXT = $_POST['txt'];
    		$IBLOCK_ID = $_POST['iblock_id'];
    		$NAME = "Отзыв";
    		
    		$arPROPS = Array(
    			"ID_PRODUCT" => $ID_PRODUCT,
    			"ID_USER" => $ID_USER,
    			"TEXT" => $TEXT,
    		);
    		
    		$arFields = Array(
    			"IBLOCK_ID"=>$IBLOCK_ID,
    			"NAME"=>$NAME,
    			"PROPERTY_VALUES" => $arPROPS,
    		);
    		print_r ($arFields);
    		$e = new CIBlockElement;
    		if (!$e->Add($arFields,false,true,false)) {
    			echo "Error: ".$e->LAST_ERROR;
    		}
    		else {
    			echo "Всё ништяк";
    		}
    -------------------------------------------------------------------
    Возвращается:
    ----------------------------------------------------------------
    Array
    (
        [IBLOCK_ID] => 5
        [NAME] => Отзыв
        [PROPERTY_VALUES] => Array
            (
                [ID_PRODUCT] => 119
                [ID_USER] => 1
                [TEXT] => kdfkja
            )
    
    )
    Всё ништяк
    ----------------------------------------------------------------
    Создаётся новая запись, но почему-то в свойстве TEXT одна левая буква какая-то, ничо понять не могу(((

    minnigaliev-r, 19 Ноября 2010

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

    −122

    1. 1
    2. 2
    ALTER TABLE [dbo].[IssueGroup]  WITH CHECK ADD  CONSTRAINT [FK_IssueGroup_Group] FOREIGN KEY([ProjectId], [GroupId])
    REFERENCES [dbo].[Group] ([GroupId],[ProjectId])

    Часа 2 искал проблему в чужом коде - оказалось, что просто поля ProjectId и GroupId были записаны в разных порядках сначала FOREIGN KEY([ProjectId], [GroupId]), а потом REFERENCES [dbo].[Group] ([GroupId],[ProjectId]).

    vadimliman, 16 Ноября 2010

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

    +115

    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
    private string ContentTransformation(string _xmlContent, string _xsltScheme)
            {
                try
                {
                    XmlReaderSettings xmlRS = new XmlReaderSettings();
                    XPathDocument doc = new XPathDocument(XmlReader.Create(new StringReader(_xmlContent), xmlRS));
                    XPathNavigator nav = doc.CreateNavigator();
                    XmlReader reader = XmlReader.Create(new StringReader(nav.OuterXml));
                    reader.MoveToContent();
    
                    System.IO.StringReader strRead = new StringReader(_xsltScheme);
    
                    XslCompiledTransform xslt = new XslCompiledTransform();
                    xslt.Load(XmlReader.Create(strRead));
    
                    // Transform the node fragment. 
                    StringWriter strW = new StringWriter();
                    XmlWriterSettings wrSet = new XmlWriterSettings();
                    wrSet.ConformanceLevel = ConformanceLevel.Auto;
                    XmlWriter xmlW = XmlWriter.Create(strW, wrSet);
    
                    xslt.Transform(reader, xmlW);
                    xmlW.Close();
    
                    return strW.ToString();
                }
                catch (ArgumentNullException anEx)
                {
                    return "XSL преобразование не выполнено!<br>Параметр равен null.<br>" + anEx.Message;
                }
                catch (XsltException xsltEx)
                {
                    return "XSL преобразование не выполнено!<br>Проверте XSL схему.<br>" + xsltEx.Message;
                }
                catch (Exception ex)
                {
                    return ex.Message;
                }
            }

    Учимся применять XSL шаблон к XML данным, и между делом поглядываем в сий гениальный шедевр - в нем вся истина о том, как четко и со вкусом, а главное элегантно выполнить эту задачу. Да еще и обработка ошибок сделана! Шикарный кусок.

    dreaktor, 14 Ноября 2010

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

    +116

    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
    private string makeUrlAbsolute(string url)
            {
                isWebPartPropertiesError = false;
                try
                {
                    if (!string.IsNullOrEmpty(url))
                    {
                        bool shouldCheckForRootWeb = false;
    
                        if (!url.StartsWith("http://"))
                        {
                            if (url.StartsWith("//")) throw new Exception("Неправильная ссылка");
                            if (!url.StartsWith("/")) url = url.Insert(0, "/");
                            url = url.Insert(0, SPContext.Current.Site.Url);
                            shouldCheckForRootWeb = true;
                        }
                        using (SPSite site = new SPSite(url))
                        {
                            using (SPWeb web = site.OpenWeb())
                            {
                                if (!url.Contains(web.Url)) isWebPartPropertiesError = true;
                                if (shouldCheckForRootWeb && site.Url.Equals(web.Url)) isWebPartPropertiesError = true;
                                return url;
                            }
                        }
                    }
                    else return "";
                }
                catch
                {
                    isWebPartPropertiesError = true;
                    return "";
                }
    
                //this.CatalogIconImageUrl = this.ClassResourcePath + "/Test.ico";
                //this.TitleIconImageUrl = this.ClassResourcePath + "/Test.ico";
            }

    Продолжаю серию мегаполезных хелперов.
    Эта страхолюдина найдена там же где и пред. кусок.
    Судя по названию, она должна делать урл абсолютным...
    (SPSite и др., это SharePoint API если кто не в курсе)

    dreaktor, 14 Ноября 2010

    Комментарии (2)
  8. JavaScript / Говнокод #4618

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    var Class = function () {
    	this.method = function () {
    		/* … */
    	};
    };
    
    Class = new Class();

    fuckyounoob, 13 Ноября 2010

    Комментарии (2)
  9. JavaScript / Говнокод #4605

    +145

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $(function(){
        oCatalog=new Catalog();
      });
          
      Catalog = function (){
        
        function test (data){
          alert(data);
        }
        
      }

    exoundeeq, 12 Ноября 2010

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

    +75

    1. 1
    2. 2
    3. 3
    for ( Cluster c : Clusters.getInstance( ).listValues( ) ) {
      stopNet.newInstance( ).dispatch( cluster );
    }

    Суровые калифорнийцы как всегда суровы...

    raorn, 12 Ноября 2010

    Комментарии (2)
  11. Python / Говнокод #4556

    −99

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    def __init__(self, pth = None):
    		self._tag = None
    		self._valid = False
    		self._pthtofile = pth
    		if pth != None:
    			try:
    				self._tag = tagpy.FileRef(pth).tag()
    				self._valid = True
    			except ValueError:
    				pass

    Конструктор класса.
    Дальше приходится всё время дёргать объект проверяя его на валидность.
    Как переписать не так говнисто?

    KoirN, 07 Ноября 2010

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