Няшная / Говнокод #12952 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 kipar, (Updated )

Комментарии (18) RSS

  • Глобальные переменные? Да это не Паскаль... Это Фортран или Бейсик головного мозга.
    Ответить
    • Да даже если бы это было членом класса, суть бы от этого не изменилась 😉
      Ответить
      • Чуть позже заметил, что дизайн кода избавляет от необходимости создавать новые переменные. Программирование без переменных... да это же функциональщина!
        Ответить
    • Я АНДРЕЙ-ГЕЙ, ИЩУ НЕМАНЕРНОГО ПАРНЯ ИЗ ПИТЕРА ДЛЯ СЕКСА БЕЗ ОБЯЗАТЕЛЬСТВ НА ОДИН-ДВА РАЗА. ЛЮБЛЮ НОСИТЬ ЖЕНСКОЕ БЕЛЬЕ.
      [COLOR=BLUE]СОСУ ХУИ[/color][COLOR=BLACK]ДАЮ В ЖОПУ[/color][COLOR=GREEN]ДЕЛАЮ МИНЕТЫ[/color][COLOR=RED]
      ПИШИТЕ, ЗВОНИТЕ: 79046468333. СТРАНИЦА В ВК: vk.com/id41556
      [/color]
      Ответить
  • Ну я могу ошибаться, но это похоже на прогу под микроконтроллер, а там ничего преступного в глобальных переменных нет. В конце концов стэк не резиновый, да и лишний раз зачем все копировать...
    Единственное, что здесь вызывает батхерт, так что lcd_str_remains и в цикле как условие, и еще в ф-ции уменьшается. Цикл в 2 раза быстрее пойдет.
    Ответить
        • И почему-то многие вспоминают именно в таком порядке: lohi, а не hilo.
          Ответить
      • Я АНДРЕЙ-ГЕЙ, ИЩУ НЕМАНЕРНОГО ПАРНЯ ИЗ ПИТЕРА ДЛЯ СЕКСА БЕЗ ОБЯЗАТЕЛЬСТВ НА ОДИН-ДВА РАЗА. ЛЮБЛЮ НОСИТЬ ЖЕНСКОЕ БЕЛЬЕ.
        [COLOR=BLUE]СОСУ ХУИ[/color][COLOR=BLACK]ДАЮ В ЖОПУ[/color][COLOR=GREEN]ДЕЛАЮ МИНЕТЫ[/color][COLOR=RED]
        ПИШИТЕ, ЗВОНИТЕ: 79046468333. СТРАНИЦА В ВК: vk.com/id41556
        [/color]
        Ответить
    • Я бы сказал не "быстрее пойдет", а "только половину" пройдет.

      P.S. for(; lcd_str_remains > 0;) пусть догадываются.
      Ответить
      • А вдруг здесь выравнивание текста по центру, тогда как раз перед текстом нужно вставить только половину пробелов? Ну а вдруг?
        Ответить
    • Ну да, в этом и баг был.
      А стек там (это PIC16) настолько ограничен, что приходится функции заменять на макросы (убогий компилятор еще и не умеет инлайнить).
      Ответить
        • Я АНДРЕЙ-ГЕЙ, ИЩУ НЕМАНЕРНОГО ПАРНЯ ИЗ ПИТЕРА ДЛЯ СЕКСА БЕЗ ОБЯЗАТЕЛЬСТВ НА ОДИН-ДВА РАЗА. ЛЮБЛЮ НОСИТЬ ЖЕНСКОЕ БЕЛЬЕ.
          [COLOR=BLUE]СОСУ ХУИ[/color][COLOR=BLACK]ДАЮ В ЖОПУ[/color][COLOR=GREEN]ДЕЛАЮ МИНЕТЫ[/color][COLOR=RED]
          ПИШИТЕ, ЗВОНИТЕ: 79046468333. СТРАНИЦА В ВК: vk.com/id41556
          [/color]
          Ответить
      • Круто, вы по коду определяете микроконтроллер, научите, как?
        Ответить
        • Это элементарно, Ватсон. Он сам и запостил этот гк.
          Ответить
    • Я АНДРЕЙ-ГЕЙ, ИЩУ НЕМАНЕРНОГО ПАРНЯ ИЗ ПИТЕРА ДЛЯ СЕКСА БЕЗ ОБЯЗАТЕЛЬСТВ НА ОДИН-ДВА РАЗА. ЛЮБЛЮ НОСИТЬ ЖЕНСКОЕ БЕЛЬЕ.
      [COLOR=BLUE]СОСУ ХУИ[/color][COLOR=BLACK]ДАЮ В ЖОПУ[/color][COLOR=GREEN]ДЕЛАЮ МИНЕТЫ[/color][COLOR=RED]
      ПИШИТЕ, ЗВОНИТЕ: 79046468333. СТРАНИЦА В ВК: vk.com/id41556
      [/color]
      Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8