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

    +127

    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
    /// <summary>
        ///  Retrieve currency rates from an external site to be sure they are up to date.
        /// In this case just checking the one currency (Australian Dollar) so no need to dynamically parse the site.
        /// </summary>
        /// <returns>currency rates or msg indicating an error</returns>
        private String getCurrencyRates()
        {
            string strURL = @"http://www.x-rates.com/d/JPY/table.html";
            HttpWebRequest txtRequest = (HttpWebRequest)WebRequest.Create(strURL);
    
            txtRequest.Method = "GET";
            txtRequest.ContentType = "application/x-www-form-urlencoded";
            string response;
            using (StreamReader streamReader = new StreamReader(txtRequest.GetResponse().GetResponseStream()))
            {
                response = streamReader.ReadToEnd();
                if (response.IndexOf("Australian Dollar") > 0)
                {
                    //parse the returned page for the two values of the currency rate based on the existing design
                    int ind_jpy = (response.IndexOf("/d/AUD/JPY/graph120.html") + 39);
                    int ind_aud = (response.IndexOf("/d/JPY/AUD/graph120.html") + 39);
                    String jpy_aud = response.Substring(ind_jpy, (response.IndexOf("</a>",ind_jpy) - ind_jpy) );
                    String aud_jpy = response.Substring(ind_aud, (response.IndexOf("</a>", ind_aud) - ind_aud));
                    Session["curr_rate"] = "set";
                    Session["JPY"] = jpy_aud;
                    Session["AUD"] = aud_jpy;
                    return aud_jpy + " / " + jpy_aud;
                }
                //else present msg to user that unable to obtain currency rates
            }
            return "";
        }

    Еще один кандидат

    OlgaWolga, 07 Сентября 2009

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

    +135.2

    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
    public string GetDollarKurs(string input)
    {
        string dol = "[.\\s]*<img height=\"11\" alt=\"Доллар США\" hspace=\"2\" src=\"/images/icon_dollar.gif\" width=\"11\" align=\"left\" vspace=\"2\" border=\"0\">Доллар \r\n\t\t\tСША</td>\r\n\t\t<td></td>\r\n\t\t<td class=\"digit\" align=\"right\">[\\s]*\\d+\\,\\d+[.\\s]*";
        MatchCollection Matches = Regex.Matches(input, dol);
        if (Matches.Count == 1)
        {
            string res = Matches[0].Value;
            res = res.Trim();
            res = res.Substring(res.LastIndexOf('>') + 1);
            return res;
        }
        else
            return "";
    }

    Функция для получения курса доллара, в input подаётся хтмл главной страницы сайта cbr.ru и парсится.
    А web-сервисы пусть кто-нибудь другой изучает... :o)

    Ordos, 06 Сентября 2009

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

    +132.5

    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
    foreach ( DataRow dr in dsWorkPolicyTa.Tables[0].Rows)
    {
    	if(strMasterNumber==dr["MAST_NO"].ToString() && strMasterSequence == dr["MAST_SEQ"].ToString() && strSectionSequence == dr["SEQ"].ToString() && strPremiumCurrency == dr["PREMIUM_CURRENCY"].ToString())
    	{
    		if (( strPremiumCurrency.CompareTo(dr["PREMIUM_CURRENCY"].ToString())==0)&& ( dr["ENDORSEMENT_NUMBER"].ToString().CompareTo(dsWorkPolicyTa.Tables[0].Rows[marker]["ENDORSEMENT_NUMBER"].ToString()) == 0 )&& (strEntrySurrogate==dr["EYAFNB"].ToString()) && ( dr["E2E0CD"].ToString().CompareTo(dsWorkPolicyTa.Tables[0].Rows[marker]["E2E0CD"].ToString()) == 0 ))
    		{
    			//Unauthorised/Policy Premium
    			if((dsWorkPolicyTa.Tables[0].Rows[marker]["PREMIUM"]!= System.DBNull.Value)&& (dr["PREMIUM"] != System.DBNull.Value)&& (dsWorkPolicyTa.Tables[0].Rows[marker]["PREMIUM"].ToString()!= "")&& (dr["PREMIUM"].ToString() != ""))
    				dsWorkPolicyTa.Tables[0].Rows[marker]["PREMIUM"]=Convert.ToDouble(dsWorkPolicyTa.Tables[0].Rows[marker]["PREMIUM"])+ Convert.ToDouble(dr["PREMIUM"]);
    			else
    				dsWorkPolicyTa.Tables[0].Rows[marker]["PREMIUM"]=dr["PREMIUM"];
    			if((dsWorkPolicyTa.Tables[0].Rows[marker]["PREMIUM_BASE"]!= System.DBNull.Value)&& (dr["PREMIUM_BASE"] != System.DBNull.Value)&& (dsWorkPolicyTa.Tables[0].Rows[marker]["PREMIUM_BASE"].ToString()!= "")&& (dr["PREMIUM_BASE"].ToString() != ""))
    				dsWorkPolicyTa.Tables[0].Rows[marker]["PREMIUM_BASE"]=Convert.ToDouble(dsWorkPolicyTa.Tables[0].Rows[marker]["PREMIUM_BASE"])+ Convert.ToDouble(dr["PREMIUM_BASE"]);
    			else
    				dsWorkPolicyTa.Tables[0].Rows[marker]["PREMIUM_BASE"]=dr["PREMIUM_BASE"];
    			if((dsWorkPolicyTa.Tables[0].Rows[marker]["PREMIUM_OURSHARE"]!= System.DBNull.Value) && (dr["PREMIUM_OURSHARE"] != System.DBNull.Value)&& (dsWorkPolicyTa.Tables[0].Rows[marker]["PREMIUM_OURSHARE"].ToString()!= "") && (dr["PREMIUM_OURSHARE"].ToString() != ""))
    				dsWorkPolicyTa.Tables[0].Rows[marker]["PREMIUM_OURSHARE"]=Convert.ToDouble(dsWorkPolicyTa.Tables[0].Rows[marker]["PREMIUM_OURSHARE"])+ Convert.ToDouble(dr["PREMIUM_OURSHARE"]);
    			else
    				dsWorkPolicyTa.Tables[0].Rows[marker]["PREMIUM_OURSHARE"]=dr["PREMIUM_OURSHARE"];
    			if((dsWorkPolicyTa.Tables[0].Rows[marker]["PREMIUM_BASE_OURSHARE"]!= System.DBNull.Value)&& (dr["PREMIUM_BASE_OURSHARE"] != System.DBNull.Value) && (dsWorkPolicyTa.Tables[0].Rows[marker]["PREMIUM_BASE_OURSHARE"].ToString()!= "")&& (dr["PREMIUM_BASE_OURSHARE"].ToString() != ""))
    				dsWorkPolicyTa.Tables[0].Rows[marker]["PREMIUM_BASE_OURSHARE"]=Convert.ToDouble(dsWorkPolicyTa.Tables[0].Rows[marker]["PREMIUM_BASE_OURSHARE"])+ Convert.ToDouble(dr["PREMIUM_BASE_OURSHARE"]);
    			else
    				dsWorkPolicyTa.Tables[0].Rows[marker]["PREMIUM_BASE_OURSHARE"]=dr["PREMIUM_BASE_OURSHARE"];
    			//Quoted Premium
    			if((dsWorkPolicyTa.Tables[0].Rows[marker]["QUOTED_PREMIUM"]!= System.DBNull.Value)&& (dr["QUOTED_PREMIUM"] != System.DBNull.Value) && (dsWorkPolicyTa.Tables[0].Rows[marker]["QUOTED_PREMIUM"].ToString()!= "")&& (dr["QUOTED_PREMIUM"].ToString() != ""))
    				dsWorkPolicyTa.Tables[0].Rows[marker]["QUOTED_PREMIUM"]=Convert.ToDouble(dsWorkPolicyTa.Tables[0].Rows[marker]["QUOTED_PREMIUM"])+ Convert.ToDouble(dr["QUOTED_PREMIUM"]);
    			else
    				dsWorkPolicyTa.Tables[0].Rows[marker]["QUOTED_PREMIUM"]=dr["QUOTED_PREMIUM"];
    			if((dsWorkPolicyTa.Tables[0].Rows[marker]["QUOTED_PREMIUM_BASE"]!= System.DBNull.Value)&& (dr["QUOTED_PREMIUM_BASE"] != System.DBNull.Value) && (dsWorkPolicyTa.Tables[0].Rows[marker]["QUOTED_PREMIUM_BASE"].ToString()!= "")&& (dr["QUOTED_PREMIUM_BASE"].ToString() != ""))
    				dsWorkPolicyTa.Tables[0].Rows[marker]["QUOTED_PREMIUM_BASE"]=Convert.ToDouble(dsWorkPolicyTa.Tables[0].Rows[marker]["QUOTED_PREMIUM_BASE"])+ Convert.ToDouble(dr["QUOTED_PREMIUM_BASE"]);
    			else
    				dsWorkPolicyTa.Tables[0].Rows[marker]["QUOTED_PREMIUM_BASE"]=dr["QUOTED_PREMIUM_BASE"];

    Кусок примера кода предоставленного кандидатом на должность программиста.
    Модуль называеться "Genius".

    При попытке наговнокодить все 100 строчек произошла "Ошибка компиляции кода: Такой длинный код врядли может быть смешным. Пожалуйста, ограничьтесь сотней строк и 4000 символами."
    Пришлось ограничить 4000 символами, но не стало смешнее :(

    OlgaWolga, 04 Сентября 2009

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

    +129.9

    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
    public static void ClearUsers()
            {
                var toremove = new List<string>();
                foreach (var user in SignedUsers.Values)
                {
                    if (!user.IsActive)
                        toremove.Add(user.UserName);
                }
                foreach (var usr in toremove)
                {
                    SignedUsers.Remove(usr);
                }
    
            }

    Удаление юзера

    DavidM, 04 Сентября 2009

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

    +136.4

    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
    public class Xps2Slides
    {
        private int MakeCollection(List<string> data)
        {
            ...
            CallGC();
            ...
        }
    
        private void bgw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            ...
            CallGC();
            ...
        }
    
        private void makeDeepZoomFiles(string png)
        {
            ...
            CallGC();
        }
    
        private string MakePNG(ref FrameworkElement fe, int pageNumber)
        {
            CallGC();
            ...
            CallGC();
            ...
        }
    
        private void doPNG(string outputPath, ref RenderTargetBitmap bmp)
        {
            ...
            CallGC();
            ...
        }
    
        private void CallGC()
        {
            GC.AddMemoryPressure(300000);// number was picked at random..
            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.WaitForFullGCComplete();
        }
    }

    Кандидат на позицию программиста: "There are alot of samples on the internet of such similar code, but nothing that could be used for serially generating these collections on the fly without crashing with a memory overflow error or some other input output issue. I have resolved these problems in the file contained in the sample."

    OlgaWolga, 02 Сентября 2009

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

    +136

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    /// <summary>Read-Only property. Gets the Age.</summary>
    public Int32 Age {
    	get {
    		Int32 age = 0;
    		if(this.dateOfBirth != DateTime.MaxValue){
    			String temp = (DateTime.Now.Subtract(this.dateOfBirth).TotalDays / 365).ToString();
    			age = Convert.ToInt32(temp.Substring(0, temp.IndexOf(".")));
    		}
    		return (age);
    	}
    }

    вот только одно не понимаю -- мочему Int32?

    OlgaWolga, 02 Сентября 2009

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

    +132.9

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if ("Recap".Equals(Request["post_back"]))
                {
                   <...>
                    if (Request["apply_coupon.x"] != null)
                    {
                        ValidateCoupon();
                    }
                    else if ("Recap".Equals(Request["post_back"]))
                    { <...> }
                   <...>
            }

    Из одного очень древнего проекта, с самопальным post back'ом

    Капитан Очевидность, 02 Сентября 2009

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

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public bool IsPositiveNumber(String strNumber)
    {
        Regex objNotPositivePattern = new Regex("[^0-9.]");
        Regex objPositivePattern = new Regex("^[.][0-9]+$|[0-9]*[.]*[0-9]+$");
        Regex objTwoDotPattern = new Regex("[0-9]*[.][0-9]*[.][0-9]*");
        return !objNotPositivePattern.IsMatch(strNumber) &&
        objPositivePattern.IsMatch(strNumber) &&
        !objTwoDotPattern.IsMatch(strNumber);
    }

    Валидатор :)

    Coffeeholic, 01 Сентября 2009

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

    +127

    1. 1
    2. 2
    3. 3
    4. 4
    if (CProducts.UpdateProductByPartNumber(row.Cells[2].Text, row.Cells[3].Text, Convert.ToDecimal(row.Cells[4].Text), curId, pgId, vendId) != -1)
    {
            // ...
    }

    Эх... первый месяц работы программистом я думал что экономить место - это круто :о)

    Ordos, 31 Августа 2009

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

    +138.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
    /*А вот так РНР программисты пишут код для ASP.NET.
    См проверку типов*/
    
    protected HttpContext CurrentContext
    {
     get {
      return _context;
     }
     set {
      if (typeof(HttpContext) == value.GetType())
       _context = value;
      else
       //...
     }
    }

    ArbuzOFF, 29 Августа 2009

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