MISRA-C is inderdaad erg handig om de algemene codekwaliteit te verbeteren en bugs te minimaliseren. Zorg ervoor dat u elke regel leest en begrijpt, de meeste zijn goed, maar een paar kloppen niet.
Een waarschuwing hier. Het MISRA-document gaat ervan uit dat de lezer iemand is met uitgebreide kennis van de C-taal. Als je niet zo'n doorgewinterde C-veteraan in je team hebt, maar besluit om een statische analysator aan te schaffen en dan blindelings elke gegeven waarschuwing te volgen, zal dit hoogstwaarschijnlijk resulteren in code van mindere kwaliteit , aangezien je de leesbaarheid mogelijk vermindert en per ongeluk bugs introduceren. Ik heb dit vaak zien gebeuren, het omzetten van code naar MISRA-conformiteit is geen triviale taak.
Er zijn twee versies van het MISRA-C-document die van toepassing kunnen zijn. Ofwel MISRA-C: 2004, dat nog steeds de huidige de facto standaard voor de embedded industrie is. Of de nieuwe MISRA-C: 2012 die de C99-standaard ondersteunt. Als je nog nooit MISRA-C hebt gebruikt, raad ik je aan om het laatste te implementeren.
Houd er echter rekening mee dat leveranciers van tools meestal naar MISRA-C: 2004 verwijzen als ze zeggen dat ze MISRA-controle hebben (soms verwijzen ze zelfs naar de verouderde MISRA-C: 1998-versie). Voor zover ik weet, is de toolondersteuning voor MISRA-C: 2012 nog steeds beperkt. Ik denk dat tot nu toe slechts enkele statische analysers het hebben geïmplementeerd: Klocwork, LDRA, PRQA en Polyspace. Misschien meer, maar u moet zeker controleren welke versie van MISRA het ondersteunt.
Voordat u besluit, kunt u natuurlijk beginnen met het lezen van het MISRA-document en kijken wat het inhoudt. Het kan voor £ 10 worden gekocht bij misra.org, redelijk betaalbaar vergeleken met de prijzen voor ISO-normen.