реклама на сайте
подробности

 
 
> плохой ли тон программирования развешивать флаги и их проверять?, Про goto четко сказано- лучше не использовать. Или флаги- это хардкод?
Метценгерштейн
сообщение Jan 25 2011, 14:23
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



вот, например,
Код
...
static uint8_t flag = 0;
...
if ( hasinput () )
     {
       data [num] = getchar();
      
       if (flag)
       {
         if( data [num] == 0x0A)
             {
              data [num - 1] = 0x00;
              num = 0;
              flag = 0;
             }
            else      
               num++;  
       }
      
       if( data [num] == 0x0A)
       {
         data [num] = 0;
         flag = 1;
       }
      
     }


Задача стояла такая:
модем на запрос АТ команды выдает ответ. Сначала пишет саму команду, потом ответ. В ASCII это выглядит так:


41 54 2B 43 50 42 53 3D 3F 0D 0D 0A 45 52 52 4F 52 0D 0A 00
A T + C P B S = ? CR CR LF E R R O R CR LF

Моя задача была сложить в массив data[] все после символа 0x0A, т.е. ERROR

итог, код рабочий. Но хороший ли тон так писать- через флаги.

Сообщение отредактировал Метценгерштейн - Jan 25 2011, 14:25
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Pasha
сообщение Jan 25 2011, 14:48
Сообщение #2


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Метценгерштейн @ Jan 25 2011, 17:23) *
итог, код рабочий. Но хороший ли тон так писать- через флаги.

Хороший до тех пор пока не появляется 1024 флага в программе из 100 строк. sm.gif
Кстати, про goto - это был пиар блочного кодирования, совсем не обязательно его игнорировать и кривиться, что мол читабельность программы снижается итд итп - это ведь все ложь.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Метценгерштейн   плохой ли тон программирования развешивать флаги и их проверять?   Jan 25 2011, 14:23
|- - MrYuran   Цитата(_Pasha @ Jan 25 2011, 17:48) Кстат...   Jan 25 2011, 15:13
- - neiver   Названия только таким переменным надо давать осмыс...   Jan 25 2011, 15:40
- - aaarrr   Можно использовать и флаги и goto. Насчет названия...   Jan 25 2011, 15:44
- - Метценгерштейн   хорошо, был ли вариант переписать данную задачу бе...   Jan 25 2011, 17:55
|- - rezident   Цитата(Метценгерштейн @ Jan 25 2011, 22:5...   Jan 25 2011, 18:09
|- - aaarrr   Цитата(Метценгерштейн @ Jan 25 2011, 20:5...   Jan 25 2011, 18:11
|- - _Bill   Цитата(Метценгерштейн @ Jan 25 2011, 21:5...   Jan 25 2011, 18:12
- - Метценгерштейн   т.е. конечные автоматы с case swith? strchr изуч...   Jan 25 2011, 18:12
|- - _Bill   Цитата(Метценгерштейн @ Jan 25 2011, 22:1...   Jan 25 2011, 18:14
|- - aaarrr   Цитата(Метценгерштейн @ Jan 25 2011, 21:1...   Jan 25 2011, 18:27
- - Метценгерштейн   Bill, как же ни при чем? Классический конечный а...   Jan 25 2011, 18:19
|- - _Bill   Цитата(Метценгерштейн @ Jan 25 2011, 22:1...   Jan 25 2011, 18:23
- - Метценгерштейн   aaarrr как в даташите эхо это называется правильн...   Jan 25 2011, 18:29
|- - aaarrr   Цитата(Метценгерштейн @ Jan 25 2011, 21:2...   Jan 25 2011, 18:34
- - firstvald   Хотел написать , но резидент опередил , очень мног...   Jan 25 2011, 18:33
- - Метценгерштейн   firstvald спасибо. я правильно понимаю применение ...   Jan 25 2011, 18:40
- - HARMHARM   Цитата(Метценгерштейн @ Jan 25 2011, 20:4...   Jan 26 2011, 00:04
- - _Bill   Цитата(Метценгерштейн @ Jan 25 2011, 22:4...   Jan 26 2011, 04:10


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 19:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01365 секунд с 7
ELECTRONIX ©2004-2016