|
STM32F207, Проверить USART_SR_RXNE и DR |
|
|
|
Mar 3 2015, 19:58
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
scifi, я прочитал 2 книги по С, КиР и Шилдта. Ни там, ни там я не видел описанного свойства && ||. К чему ваш сарказм? Вы тоже не с рождения обзавелись эрудицией. Вот я задал вопрос, получил ответы, поблагодарил. Обогатился знаниями.
Для Golikov A. Как минималист, предпочитаю краткость, настолько, насколько это допустимо. Мне так проще. Комментариев к очевидным местам не пишу. У меня перед этим блоком есть пара строк комментариев, где описаны условия. Но не в виде "если флаг не равен нулю", а "если принято сообщение".
|
|
|
|
|
Mar 3 2015, 21:49
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
хорошо вам минималистам. в каком то из контрактов у меня было требования - коменты к каждой строке... Код int i = 0; //параметр цикла
//пустая переменная для вычитывания FIFO UART int dummy = dummy; //инициализируем ей-же чтобы не было варнинга и так далее... после 3-4 лет, так и пишу коменты по привычке почти к каждой строчке... Пару раз мне помогали, но гораздо больше помогают тем кто будет поддерживать после вас. а минимализм.... я даже не люблю temp = cond ? 1 : 0; а теперь еще лямда функций понаделали...
|
|
|
|
|
Mar 4 2015, 04:58
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37

|
Цитата(ViKo @ Mar 3 2015, 23:58)  scifi, я прочитал 2 книги по С, КиР и Шилдта. Ни там, ни там я не видел описанного свойства && ||. Не занудства ради, а пользы для: Керниган и Ричи 2.12. Старшинство и порядок вычисления
--------------------
Если зайца бить, его можно и спички научить зажигать Сколько дурака не бей - умнее не будет. Зато опытнее
|
|
|
|
|
Mar 4 2015, 06:28
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(VAI @ Mar 4 2015, 07:58)  Не занудства ради, а пользы для: Керниган и Ричи 2.12. Старшинство и порядок вычисления Там только упоминается в скобках "Исключением являются &&, ||, ?: и ','." А для пользы в разделе 2.6 описано с примерами то, что нужно. Да, пролетело было мимо, а теперь внедрено в моск.  А у Шилдта на этот счет - ничего. Цитата(Golikov A. @ Mar 4 2015, 00:49)  а минимализм.... я даже не люблю temp = cond ? 1 : 0; А я тащусь... Код #define WDELAY_START(US); \ TIM7->PSC = ((US < 65536) ? (60 - 1) : \ ((US < 655360) ? (600 - 1) : \ ((US < 6553600) ? (6000 - 1) : (60000 - 1)))); \ TIM7->ARR = ((US < 65536) ? (US - 1) : \ ((US < 655360) ? (US / 10 - 1) : \ ((US < 6553600) ? (US / 100 - 1) : (US / 1000 - 1)))); \ TIM7->EGR = TIM_EGR_UG; \ TIM7->SR = 0; \ TIM7->CR1 |= TIM_CR1_CEN;
|
|
|
|
|
Mar 4 2015, 06:49
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(ViKo @ Mar 3 2015, 22:58)  scifi, я прочитал 2 книги по С, КиР и Шилдта. Ни там, ни там я не видел описанного свойства && ||. К чему ваш сарказм? Вот об этом и речь. Не надо писать код, для понимания которого программисту нужно лезть в справочники. Я, к примеру, не помню всю таблицу приоритетов операторов, поэтому ставлю скобки, когда есть сомнения, и другим советую. Цитата(ViKo @ Mar 3 2015, 22:58)  Вы тоже не с рождения обзавелись эрудицией. Вот я задал вопрос, получил ответы, поблагодарил. Обогатился знаниями. Вообще-то последней инстанцией по этим вопросам является даже не форум, а стандарт языка. Цитата Unlike the bitwise binary & operator, the && operator guarantees left-to-right evaluation; there is a sequence point after the evaluation of the first operand. If the first operand compares equal to 0, the second operand is not evaluated. Оч. рекомендую туда заглядывать.
|
|
|
|
|
Mar 4 2015, 07:01
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(scifi @ Mar 4 2015, 09:49)  Вот об этом и речь. Не надо писать код, для понимания которого программисту нужно лезть в справочники. Я, к примеру, не помню всю таблицу приоритетов операторов, поэтому ставлю скобки, когда есть сомнения, и другим советую. На это я пойти не могу. Я периодически заглядываю в таблицу приоритетов, но лишних скобок не ставлю. Это противоречит моим принципам. Цитата Вообще-то последней инстанцией по этим вопросам является даже не форум, а стандарт языка. Оч. рекомендую туда заглядывать. Это да. Правда, там труднее копаться. Но надо.
|
|
|
|
|
Mar 4 2015, 07:36
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(ViKo @ Mar 4 2015, 10:01)  На это я пойти не могу. Я периодически заглядываю в таблицу приоритетов, но лишних скобок не ставлю. Это противоречит моим принципам. Тогда вам сюда. Уверен, сможете выступить очень достойно Цитата(ViKo @ Mar 4 2015, 10:01)  Это да. Правда, там труднее копаться. Но надо. А я привык. На любой вопрос нахожу ответ за 5 минут максимум.
|
|
|
|
|
Mar 4 2015, 08:03
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(scifi @ Mar 4 2015, 08:49)  Не надо писать код, для понимания которого программисту нужно лезть в справочники. "Создайте программу, которой может пользоваться дурак, и только дурак захочет ей пользоваться". Гордое звание "программист" подразумевает наличие некоторых базовых знаний. Поведение операторов языка и правила неявных приведений типов входят в эти базовые знания. Добавление в исходник излишеств вроде ==0, (a * b ) + c, комментариев к очевидным действиям только отвлекает и затрудняет понимание алгоритма.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|