Har någon testat Code Configuration Plug-In för MPLAB® X ?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Har någon testat Code Configuration Plug-In för MPLAB® X

Inlägg av sodjan »

Så "egentligen" betyder att makron är "i princip förbjudna" i vissa programmerings
standards, fast ändå inte, det verkar vara vissa sätt att använda mackron som
det avråds mot, inte att använda makron som sådana. Dessutom rekomenderas
just det format som konfiguratorn genererar, do { something } while(0) som
ett säkert sätt att skriva ett makro.

Slutligen så kanske inte rekomendationer som standards som MISRA är helt
applicerbart på hobbyprogrammering.

> ...så är FunktionsMacron i princip förbjudna.

OK, vilken del av den visade koden gäller det?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46976
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Har någon testat Code Configuration Plug-In för MPLAB® X

Inlägg av TomasL »

Tja, det är väl ingen nackdel, även för hobbyisten att använda sig av dessa standarder.

Visst i detta fallet så uppfyller de standarden, dock skall man fortfarande betrakta macron som ett no-no, då de tenderar att skapa problem, i stället för att hjälpa till.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Har någon testat Code Configuration Plug-In för MPLAB® X

Inlägg av sodjan »

PDF'en med standarden kostar nästan 200:-, så det i sig
är nog i många fall en nackdel. Nej, det säkert bra att en
viss bransch tar programvarukvalitet på allvar, men det
betyder inte att det är rellevant för alla och alltid.

> dock skall man fortfarande betrakta macron som ett no-no,
> då de tenderar att skapa problem,

Kanske. Men det är inte vad t.ex MISRA säger.

He, bättra att undvika C helt och hållet eftersom det tenderar att "skapa problem"!
Det är ju ett misslyckande att man måste hitta på olika standards, som mest består
av saker man inte för eller bör göra, för att använda verktyget (C) !
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Har någon testat Code Configuration Plug-In för MPLAB® X

Inlägg av sodjan »

> Makron borde vara förbjudna, och är det egentligen.

Och det där var alltså fel.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46976
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Har någon testat Code Configuration Plug-In för MPLAB® X

Inlägg av TomasL »

Nja, var det??

Oavsett, vilket, så bör man tänka sig för när man använder #defines, eller snarare undvika det så mycket som möjligt.
Koden blir fasiken så mycket klarare och bättre om man enumrerar konstanter och använder regelrätta funktioner i stället, dessutom slipper man en massa konstiga felmeddelanden från kompilatorn om något går fel.
Fasiken så mycket lättare att debugga utan en massa macron.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Har någon testat Code Configuration Plug-In för MPLAB® X

Inlägg av sodjan »

> Nja, var det??

Ja, det var det. Macron är *inte* "förbjudna", det är vissa delar av
makron som ej tillåts (enligt MISRA) eller som det avråds från.
Makron är definitivt inte förbjudna...

Att helt och hållet undvika #define är nog väldigt svårt.
Det finns knapp en h fil som inte har fullt med #defines.

Hur gör man annars:
#ifndef _PIC16F1938_H_
#define _PIC16F1938_H_
...

eller:
#define _XTAL_FREQ 500000

Nej, du generalliserar alldeles för hårt. Det finns absolut vissa sidor
av makron med #define som är mindre lyckade/säkra, men det
säger nog mer om C som sådant, men det gör inte att man
kan undvika #define helt och hållet, så klart...
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46976
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Har någon testat Code Configuration Plug-In för MPLAB® X

Inlägg av TomasL »

Exakt Sodjan, om man tar som regel "inga" #defines, så har man kommit en bra bit på vägen med att skriva läsbar och "felfri" kod.

Visst, naturligtvis behöver man i vissa lägen #defines, men, i möjligaste mån bör man undvika dem, och använda bättre alternativ i stället.

Följaktligen skall man arbeta efter att macron är förbjudna.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Har någon testat Code Configuration Plug-In för MPLAB® X

Inlägg av sodjan »

Märklig definition av "förbjudet".

> Följaktligen skall man arbeta efter att macron är förbjudna.

Det är ju något helt annat än att makron *är* förbjudna.
Visst, du skrev "i princip förbjudna", men endå...
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46976
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Har någon testat Code Configuration Plug-In för MPLAB® X

Inlägg av TomasL »

Snälla sodjan....
Skriv svar