1. Куча / Говнокод #18463

    +143

    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
    ...
    
    <div class="y">
          	<p>
            <center>
                    <h3><strong> ... </strong><img src="..." alt="...">
              </h3>
            </center>
    
    <div class="x">
              <li class="x"><a href="..." title="..."> ...</a> ...; <br>
              <li class="x"><a href="..." title="...">...</a>; <br>
              <li class="x"><a href="..." title="...">...</a>; <br>
              <li class="x">...;<br>
              <li class="x"> ...;<br>
              <li class="x"><a href="..." title="...">...</a>. </p>
            </div>
    
    ...
    <!-- еще три таких блока ->
    </div>
    
    ...

    html гуру какой-то, явно

    username255, 10 Июля 2015

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    $(document).ready(
    		function () {
    		    // Refactoring start
    		    $(document).ready(function () {

    Refactoring my ass

    Onanymous, 10 Июля 2015

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

    +144

    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
    Флоат даёт ошибки только тогда, когда он плывёт. 
    На вычислении всяких косинусов он не плывёт - поэтому ошибки там врядли возможны.
    
    Точность не будет падать - её не будет, вместо неё будет округленчиский мусор.
    
    Каким образом у вас это получилось - я не знаю, ибо у меня cos(M_PI_2) = ноль. 2.0f*2.0f = 4.0.
    
    Конпелятор всегда знает, ибо нормальные про-пацаны юзают фичи конпелятора, и умеют писать код. 
    В гцц есть такие штуки - builtin_*() - ими запиленны аналоги самых популярных libc функций. 
    ГГЦ абсалютно точно умеет определять константы - для этого есть свой builtin_constant_p() - 
    который в любом куске кода тебе 100% скажет - константа эта перменная, либо нет.
    
    Дак вот, в гцц даже можно писать так:
    
      static const double cos_pi = cos(M_PI);//глобальная статик-константа, которая в компилтайме инициализируется результатом вызова функции cos(). Это не особо профитно, ибо издревли система констант в Си лютое говно.
    Так же в гцц есть атрибуты, один из которых const - он говорит, что твоя функция не имеет побочных эффектов. 
    И все функции, которые их не имеют - принято так помечать, особенно в glibc и libgcc.
    
    А всё почему? Патамучто их пишут более-менее про-пацаны. 
    Конпелятору не нужно ничего знать - знает программист, который пишет, а конпелятор должен предоставить ему фичи, 
    с которыми он может пилить нормальный код, а не говно. 
    А неосиляторам подавай оптимизиторы, автоматизаторы и прочую ересь, от которой толка нет, а гонору много.

    http://ru.stackoverflow.com/questions/245261/Неправильная-работа-cos
    Как-то я проебал открытие сего быдлятника. Когда читал ответ сходу какое-то знакомое чувство, будто я знаю автора.

    3.14159265, 10 Июля 2015

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

    +142

    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
    /// <summary>
            /// Обновление данных о объекте
            /// </summary>
            /// <param name="theObject">ссылка на объект</param>
            public void Update(IPersistentObject theObject)
            {
                IDbCommand updateCommand = null;
                try
                {
                    using (updateCommand = CreateUpdateCommand(theObject))
                    {
                        updateCommand.Connection.Open();
                        updateCommand.ExecuteNonQuery();
                    }
                }
                catch (DbException ex)
                {
                    int code = 0;
                    if (ex is SqlException)
                    {
                        code = ((SqlException) ex).Number;
                    }
                    if (code == 229)
                    {
                        ex.Data.Add("Name", theObject.ClassInfo.Name);
                        ex.Data.Add("Description", theObject.ClassInfo.Description);
                        ex.Data.Add("Action", "UPDATE");
                        throw new InvalidOperationException(
                            String.Format("Ошибка обновления объекта [{0}] - {1} (ID = '{2}')",
                                          theObject.ClassInfo.Name,
                                          theObject.ClassInfo.Description,
                                          theObject.ID), ex);
                    }
                    if (code == 207 || code == 208)
                    {
                        throw new InvalidColumnException(theObject.ClassInfo, ex);
                    }
                    //theObject заменен на theObject.ID. Нечитабельно, но ... Т. к. при вычислении ToString()
                    //для показа объекта иногда задействуются методы загрузки данных
                    //названия объекта. Таким образом при высоком уровне изоляции транзакции
                    //мы получим зависание если будет попытка загрузить данные заблокированные транзакцией.
                    TraceLogger.Log(String.Format("Update {0}({1}){4} - {2}\n{3}", theObject.ID, theObject.ClassInfo,
                                                  ex.Message, ex.InnerException, theObject.GetInfoToTraceMessage()),
                                    TraceTypeEnum.UpdateStatement);
                    throw;
                }
                finally
                {
                    if (updateCommand != null)
                    {
                        updateCommand.Connection.Close();
                    }
                }
            }

    смертельный прием using
    и добьем соперника используя finally как фаталити

    перехват исключения тоже хорош, авторский комментарий добавляет изюминку

    vldalx, 10 Июля 2015

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

    +142

    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 IndividualService Service
            {
                get { return _service; }
                set
                {
                    if (value == null || !value.IsDNSeriaHeader)
                        _service = value;
                    else
                    {
                        if (!IsLoading && Initialized)
                            XtraMessageBox.Show("Услуга по записи о ДН не должна быть заголовком ДН", "Внимание",
                                            MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
            }

    MessageBox на сеттере в EDM (если говорить в терминах Entity Framework)

    vldalx, 09 Июля 2015

    Комментарии (0)
  6. PHP / Говнокод #18458

    +140

    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
    <?php
    
    if ($_POST['act']=='addstuff')
    {
      //print_r($_POST);
      $c_config=array(
        'slider1_title'=>($_POST['slider1_title']),
        'slider1_text'=> ($_POST['slider1_text']),
        'slider1_link'=> ($_POST['slider1_link']),
        'slider1'=>      ($_POST['slider1']),
        'slider2_title'=>($_POST['slider2_title']),
        'slider2_text'=> ($_POST['slider2_text']),
        'slider2_link'=> ($_POST['slider2_link']),
        'slider2'=>      ($_POST['slider2']),
        'slider3_title'=>($_POST['slider3_title']),
        'slider3_text'=> ($_POST['slider3_text']),
        'slider3_link'=> ($_POST['slider3_link']),
        'slider3'=>      ($_POST['slider3']),
        'slider4_title'=>($_POST['slider4_title']),
        'slider4_text'=> ($_POST['slider4_text']),
        'slider4_link'=> ($_POST['slider4_link']),
        'slider4'=>      ($_POST['slider4']),
        'slider5_title'=>($_POST['slider5_title']),
        'slider5_text'=> ($_POST['slider5_text']),
        'slider5_link'=> ($_POST['slider5_link']),
        'slider5'=>      ($_POST['slider5']),
        'number_title'=>($_POST['number_title']),
        'number_text'=> ($_POST['number_text']),
        'number_link'=> ($_POST['number_link']),
        'date_title'=>($_POST['date_title']),
        'date_text'=> ($_POST['date_text']),
        'date_link'=> ($_POST['date_link']),
        'banner_link'=> ($_POST['banner_link']),
        'banner'=> ($_POST['banner'])
      );
      $c_config=json_encode($c_config);
      if (intval($_POST['category_id'])>0)
      {
        $db->query('UPDATE ecrm_category set category_name=\''.addslashes($_POST['category_name']).'\', category_config=\''.addslashes($c_config).'\', category_img=\''.addslashes($_POST['category_img']).'\', category_type=\''.intval($_POST['category_type']).'\' WHERE category_id='.intval($_POST['category_id']));
        //echo 'UPDATE ecrm_category set category_name=\''.addslashes($_POST['category_name']).'\', category_config=\''.addslashes($c_config).'\', category_img=\''.addslashes($_POST['category_img']).'\', category_type=\''.intval($_POST['category_type']).'\' WHERE category_id='.intval($_POST['category_id']);
      } else{
        $db->query('INSERT INTO ecrm_category (category_name,category_config,category_img,category_parent,category_type) VALUES (\''.addslashes($_POST['name']).'\',\''.$c_config.'\',\''.addslashes($_POST['category_img']).'\','.intval($_POST['category_parent']).','.intval($_POST['category_type']).')');
      }
    }

    damir, 09 Июля 2015

    Комментарии (3)
  7. PHP / Говнокод #18457

    +141

    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
    <?
    /*
    =====================================================================================================================================================
    
    	DB COOPERATION
    	Developer:	Yudin Roman
    	Description:
    	Cooperation with databases.
    	
    	ВЗАИМОДЕЙСТВИЕ С БД
    	Разработка:	Юдин Роман
    	Описание:
    	Взаимодействие с базами данных.
    	
    =====================================================================================================================================================
    */
    
    class database
    {
        function connect()
        {
            global $config;
            $this->db = mysql_connect($config['db']['host'], $config['db']['user'], $config['db']['pass'])
            or die("база данных не доступна: " . mysql_error());
            mysql_query("SET character_set_results=utf8", $this->db);
            mysql_query("SET character_set_client=utf8", $this->db);
            mysql_query("SET character_set_connection=utf8", $this->db);
            mb_language('uni');
            mb_internal_encoding('UTF-8');
            mysql_select_db($config['db']['database'], $this->db);
            mysql_query("set names 'utf8'",$this->db);
        }
    
        function query($sql)
        {
            //$result = mysql_query($sql);
            //$this->result=$result;
            return mysql_query($sql);
        }
    
        function num_rows($res)
        {
            return @mysql_num_rows($res);
        }
    
        function fetch($res)
        {
            return @mysql_fetch_array($res, MYSQL_ASSOC);
        }
    
        function insert_id()
        {
            return @mysql_insert_id($this->db);
        }
    }
    
    
    if (!isset($_SESSION)) session_start();

    2015 год, есть PDO, есть фреймворки, есть компоненты и классы, но нет, этот идёт другим путём. И самое приятное - $_SESSION в файле класса.

    damir, 09 Июля 2015

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

    +69

    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
    totOwed1 = BigDecimalUtils
    				.subtract(
    						BigDecimalUtils.subtract(
    								BigDecimalUtils.subtract(
    										BigDecimalUtils.subtract(
    												BigDecimalUtils.subtract(
    														BigDecimalUtils.subtract(
    																BigDecimalUtils
    																		.subtract(
    																				BigDecimalUtils
    																						.subtract(
    																								BigDecimalUtils
    																										.subtract(
    																												BigDecimalUtils
    																														.subtract(
    																																BigDecimalUtils
    																																		.subtract(
    																																				BigDecimalUtils
    																																						.subtract(
    																																								BigDecimalUtils
    																																										.subtract(
    																																												BigDecimalUtils
    																																														.subtract(
    																																																BigDecimalUtils
    																																																		.subtract(
    																																																				BigDecimalUtils
    																																																						.subtract(
    																																																								BigDecimalUtils
    																																																										.subtract(
    																																																												BigDecimalUtils
    																																																														.subtract(
    																																																																BigDecimalUtils
    																																																																		.subtract(
    																																																																				BigDecimalUtils
    																																																																						.subtract(
    																																																																								hMoTotalPayAmt,
    																																																																								hClmPaperChrgAmt),
    																																																																				hRestitutionAmt),
    																																																																hRestQaAmt),
    																																																												hRestNmAmt),
    																																																								hOverPaymentAmt),
    																																																				hLevyAmt),
    																																																hSupportOrdAmt),
    																																												hBackUpWithhdAmt),
    																																								hEyefinDebitAmt),
    																																				hPrePaymentAmt),
    																																hMoDebitsVsplab),
    																												hMoDebitsPlexus),
    																								hMoDebitsCollab),
    																				hDebitsLegends),
    																hDebitsUltra),
    														hDebitsCapitol),
    												hDebitsSandiego),
    										hDebitsTampabay), hDebitsStcloud),
    						hMoDebitsAltair);

    kostoprav, 09 Июля 2015

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

    +142

    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
    private MonthCalendarModel GetMonthCalendar(int year, int month, string roleId, string doctorId)
    {
    var days = new List<DayCalendarModel>();
    var today = DateTime.Today;
    var firstDay = new DateTime(year, month, 1);
    int firstDayOfWeek = 0;
    if (firstDay.DayOfWeek == DayOfWeek.Monday)
        firstDayOfWeek = 1;
    if (firstDay.DayOfWeek == DayOfWeek.Tuesday)
        firstDayOfWeek = 2;
    if (firstDay.DayOfWeek == DayOfWeek.Wednesday)
        firstDayOfWeek = 3;
    if (firstDay.DayOfWeek == DayOfWeek.Thursday)
        firstDayOfWeek = 4;
    if (firstDay.DayOfWeek == DayOfWeek.Friday)
        firstDayOfWeek = 5;
    if (firstDay.DayOfWeek == DayOfWeek.Saturday)
        firstDayOfWeek = 6;
    if (firstDay.DayOfWeek == DayOfWeek.Sunday)
        firstDayOfWeek = 7;
    for(int i= firstDayOfWeek-1; i > 0; i--)
    {
        DateTime day = firstDay.AddDays(-i);
        days.Add(new DayCalendarModel{Available = -1, Day = day.Day, Enabled = false, CssClass = string.Empty});
    }
    DateScheduler dateScheduler = GetDateScheduler(roleId, doctorId);
    DateTime date;
    for( date = firstDay; date.Month == month; date = date.AddDays(1)) {
        string cssClass = dateScheduler.CheckDate(date, true) ? "free": "disbl";
        bool enabled = (date >= today);
        cssClass = enabled ? cssClass : string.Empty;
    	days.Add(new DayCalendarModel(){Available = 3, Day = date.Day, Enabled = enabled, CssClass = cssClass, Date = date.ToString(FormatHelper.DateOnlySerializationFormat)});
    }
    if(date.DayOfWeek != DayOfWeek.Monday) {
        for(; GetDayOfWeek(date.DayOfWeek) <= 7; date = date.AddDays(1)) {
            days.Add(new DayCalendarModel()
                {Available = -1, Day = date.Day, Enabled = false, CssClass = string.Empty});
            if(date.DayOfWeek == DayOfWeek.Sunday) {
                break;
            }
        }
    }
    
    // пропущено ...
    }
    
    private int GetDayOfWeek(DayOfWeek dayOfWeek)
    {
        if(dayOfWeek == System.DayOfWeek.Sunday)
    	{
            return 7;
        }
        return (int)dayOfWeek;
    }

    полученный List<DayCalendarModel> используется для отображения пользователю календаря с отмеченными днями работы врача

    vldalx, 09 Июля 2015

    Комментарии (0)
  10. Куча / Говнокод #18453

    +142

    1. 1
    http://habrahabr.ru/post/72959/

    Сразу прошу извинить...

    1. за хабр ;(
    1. за баянизм - ссылка на этот пост уже была на гк.

    Знаю по опыту, что объекты в делфи инициализируются мусором.
    "В Delphi это не представляет никаких трудностей, так как любой объект еще до передачи управления конструктору инициализируется нулями." - выебать бы маму автора сего пёрла.

    Stertor, 09 Июля 2015

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