1. Си / Говнокод #12952

    +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
    void lcd_goto(unsigned char line, unsigned char pos)
    {
    	...
    	lcd_str_remains = LCD_STR_LEN - pos;
    }
    
    void lcd_putch(char c)
    {
    	lcd_str_remains--;
    	...
    }
    
    void lcd_fill_str(void)
    {
    	char i;
    	for(i=0; i<lcd_str_remains; i++)
    		lcd_putch(' ');
    }

    Паскаль головного мозга. Эх, сколько я этот баг искал.

    kipar, 29 Апреля 2013

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

    +138

    1. 1
    http://blog.lab49.com/archives/3011

    Наткнулся на совершенно гениальную статью про алгебраические типы данных. Из которой вы узнаете, что алгебраические типы данных потому и называются алгебраическими, что их можно складывать, перемножать, возводить в степень и даже брать производную, причём эта магия доступна всем простым смертным, и самое интересное — в этом есть практический смысл.
    Требуемые знания матана — примерно на уровне десятого класса средней школы.
    Enjoy.

    neeedle, 29 Апреля 2013

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

    +142

    1. 1
    <b><b><b><b><b><b><strong>В стоимость входит:</strong></b></b></b></b></b></b>

    Нужно больше жирного!

    govnoacc, 29 Апреля 2013

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

    +130

    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
    <li  style="margin-top: 17px;" class="buy">
      <a href="@Model.WebSiteUrl" target="_blank" style="color: #12BBFF; display:block;">
        Buy on @Model.WebSiteUrlShort for [email protected]
      </a>
      <div id="idProductUrls">
        @foreach(string url in Model.ProductUrls)
        {
          <a href="@url" target="_blank" style="color: #12BBFF; display:block;">
          </a>
        }
      </div>
    </li>
    <script type="text/javascript">
      $('#idProductUrls a').each(
         function () {
           this.innerHTML = get_hostname($(this).attr('href'));
         }
      );
    </script>

    Джуниор перенес часть функционала на клиент, а именно текст ссылки создается на клиенте

    DarkThinker, 29 Апреля 2013

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

    +13

    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
    struct read_access_tag {};
    struct write_access_tag {};
    struct read_write_access_tag : read_access_tag, write_access_tag {};
    
    template <
        typename ByteOrder,
        typename ValueType
    >
    std::size_t get_from(const uint8_t *src, ValueType &dst, const read_access_tag&) {
        ByteOrder::decode(src, dst);
        return sizeof(dst);
    }
    
    template <
        typename ByteOrder,
        typename ValueType
    >
    std::size_t put_into(ValueType src, uint8_t *dst, const write_access_tag&) {
        ByteOrder::encode(src, dst);
        return sizeof(src);
    }
    
    // ...
    
    template <
        typename ByteOrder = default_byte_order,
        typename AccessTag = read_write_access_tag
        >
    class basic_buffer {
    public:
        typedef ByteOrder byte_order;
        typedef AccessTag access_tag;
        typedef typename access_traits<access_tag>::value_type value_type;
        typedef typename access_traits<access_tag>::strict_type strict_type;
        typedef typename access_traits<access_tag>::iterator iterator;
        typedef typename access_traits<access_tag>::const_iterator const_iterator;
    
        basic_buffer(iterator begin, iterator end)
            : begin_(begin)
            , end_(end)
            , pos_(begin)
        {}
    
        // ...
    
        template <typename T>
        basic_buffer & put(T value) {
            if (bytes_left() < sizeof(value)) throw Overflow;
            pos_ += put_into<byte_order>(value, pos_, access_tag());
            return *this;
        }
    
        template <typename T>
        basic_buffer & get(T &value) {
            if (bytes_left() < sizeof(value)) throw Overflow;
            pos_ += get_from<byte_order>(pos_, value, access_tag());
            return *this;
        }
    }

    Развитие идей из

    http://govnokod.ru/12465
    Изобретаем права доступа в compile time, чтобы можно было запретить писать в readonly-буфер и читать из writeonly-буфера без дупликации кода. put_into по сути не нужен (запись в readonly_buffer у меня и без этого не скомпилится), существует из соображений симметрии. Полный код здесь
    https://github.com/roman-kashitsyn/encoding-binary

    roman-kashitsyn, 28 Апреля 2013

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

    +163

    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
    SELECT UPPER(CONVERT(SUBSTRING(
      REPLACE(
        REPLACE(
          REPLACE(
            REPLACE(
              REPLACE(
                REPLACE(
                  REPLACE(
                    MD5(RAND())
                  ,'1','')
                ,'0','')
              ,'a','')
            ,'e','')
          ,'i','')
        ,'o','')
      ,'u','')
    FROM 1 FOR 6) USING latin1)) AS password

    DrFreez, 28 Апреля 2013

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

    +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
    {$ifdef Profile}
      {$define __TRACE__:= try Profile_TraceCall}
      {$define __END__:=finally Profile_LeaveCall; end;}
    {$else}
      {$define __TRACE__:= //}
      {$define __END__:=}
    {$endif}
    
    procedure Foo();
    begin
      __TRACE__('Foo');
      ...
      __END__
    end;

    FPC.

    runewalsh, 28 Апреля 2013

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

    +131

    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
    class Date
        {
            private DateTime date;
            public Date(int day,int month,int year)
            {
                if(month > 0 && month < 13 && day > 0 && day <= DateTime.DaysInMonth(year,month)) // Это не надо, моё введение.
                    date = new DateTime(year,month,day);
                else Console.WriteLine("Неверная дата.");//
            }
            public Date()
            {
                date= new DateTime(2009,01,01);
            }
            public DateTime Yesterday()
            {
                return date.AddDays(-1);
            }
            public DateTime NextDay()
            {
                return date.AddDays(1);
            }
            public int Days()
            {
                return DateTime.DaysInMonth(date.Year,date.Month)-date.Day;
            }
            public DateTime GetDate
            {
                get
                {
                    return date;
                }
                set
                {
                    date = value;
                }
            }
            public bool IsLeapYear
            {
                get
                {
                    return DateTime.IsLeapYear(date.Year);
                }
            }
        }

    Пришлось сделать.

    dos_, 27 Апреля 2013

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

    +132

    1. 1
    TempClass.Area = Convert.ToDecimal(dt.Rows[0]["Area"].ToString()).ToString("F1", CultureInfo.CreateSpecificCulture("en-US"));

    Про string.format видимо мы не знаем....

    bars, 27 Апреля 2013

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

    +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
    23. 23
    24. 24
    25. 25
    <?php
    $db=$_COOKIE['db'];
    $tbn=$_REQUEST['tb_s'];
    include('conf.php');
    mysql_select_db($db);
    echo '<h4 class="nr">'.$db.'.'.$tbn.'</h4><hr>';
    $q=mysql_query("SHOW COLUMNS FROM ".$tbn."");
    echo "<table border='1' class='t'><tr>";
    while($ntb=mysql_fetch_row($q)){
    echo "<td class='gr'>".$ntb['0']."</td>";
    }
    echo '</tr>';
    $query=mysql_query("SELECT * FROM ".$tbn."");
    while($row=mysql_fetch_array($query)){
    $qq=mysql_query("SHOW COLUMNS FROM ".$tbn."");
    echo '<tr>';
    while($ntb=mysql_fetch_row($qq)){
    $u=$ntb[0];
    echo '<td>'.$row[$u].'</td>';
    }
    echo '</tr>';
    }
    echo '</table><hr>';
    echo"<a href='s_db.php?db_s=".$_SESSION['db']."'>Bepнyтcя к тaблицaм</a>";
    ?>

    Мой дебют здесь)оцените говнокодность,+комменты))

    AnalgiNNN, 27 Апреля 2013

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