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

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

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


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


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

Эта адова конструкция находится только в одном месте программы, и условие выполняется крайне редко. Но если выполнится, то выпадает гора глюков. Что сильно может опечалить оконечного юзверя.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

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 04:02 pm
Powered by Dreamwidth Studios