Jun. 19th, 2012

dlinyj: (Default)
расстрелянного генерала разбирая свой код, который писал пол года назад. Небольшой опус.

Много хороших советов по хорошему стилю программирования водится в интернетах, так же несколько хороших уроков преподал мне камрад [livejournal.com profile] maddev , за что ему отдельное большое спасибо. Единственное, что я не следую его совету не использовать глобальные переменные, ибо не знаю как от них отказаться. Ведь флаги нужны, а без них никуда.

В общем, тоже дам один. Ковыряю тут свой код, примерно как ребёнок ковыряет говно палочкой. И вижу там такую конструкцию:
...
//Тут некоторая мелкая процедурка в коде, например приём символов по UART
if (некое условие)
{
...
//*****************************************************
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!		
PORTA=0xFF; //НИКОГДА ТАК НЕ ДЕЛАТЬ!!!!!!
//*****************************************************
...
} 


Хотел подсветить код, но не нашёл где. Сайт http://tohtml.com/c/ , где я делал это внезапно сломался на этом коде


Это было сделано в момент отладки, чтобы мигать светодиодом. А байт записывается, чтобы не думать на какой ноге порта висит светодиод. Так делать нельзя никогда!!! Лучше сделать во первых дефайн определяющий порт, дефайн определяющий ногу, и менять состояние только ОДНОГО пина!
В результате после написания программы я благополучно забыл об этой адовой конструкции, и уже было собирался переносить код в другой проект, как обнаружил этот капец.

Эта адова конструкция находится только в одном месте программы, и условие выполняется крайне редко. Но если выполнится, то выпадает гора глюков. Что сильно может опечалить оконечного юзверя.

January 2026

S M T W T F S
    123
456 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 22nd, 2026 06:30 am
Powered by Dreamwidth Studios