You are on page 1of 3

Hence there are 144 misra rules are there in that the rules are divided into

1.required
2.mandatory
3.advisory
these rules are useful for code security,reliability..etc

here some rules how to use in realtime programming

#rule 1
comments used in editor files
1.use /* */ this is c comments
2.never use // this is c++ comment

#rule 2

variable declarations (or) flags declaration


1.use variables that are tells to meaningful to user and easy to unserstand
ex: unsigned int Iot_on_flag=0;
not like this unsigned int Iotonflag=0;

#rule 3
variable maximum length shouldbe 32 characters
never use beyond 32 characters

ex:int hari_embedded_software=1; // length maximum 32 characters

#rule 4

macro size also maximum 32 characters


ex:#define Addition 123

#rule 5

macro expansion violation


never expand macro
macro should be fix

#rule 6

never use floating point numbers to equality


ex: if(i==0.1)
{
// it is violation
}

#rule 7

never compare with different data types without typecasting


#rule 8

never use magic keywords


ex:
int main()
{
int i;
for(i=0;i<5;i++) // rule violation
{
printf("ettiksoft technologies nammkal");
}
}

correct way is

#define MAX 5
int main()
{
int i;
for(i=0;i<MAX;i++) // rule violation
{
printf("ettiksoft technologies nammkal");
}
}

#rule 9

control statement usage

if (condtion)
{
if (condition 2)
{
// rule violation
}
}

if(condition&& condition1)

// correct way
}

#rule 10

use while loop like this


#define ONE 1
1.while (ONE)
{
}
2. while (!=0)
{

#rule 11

switch should pass all cases


#rule 12
switch case in ecah condition use break compulsory

#rule 13
switch case compulsory ends with default case

#rule 14

variables declaration must before the arguments conditions

#rule 15

function arguments always less

not use so many arguments in function calling


#rule 16

use less local variables beacuse these are stored in stack


heavy usage of local varibles leads to stack overflow in some cases

#rule 17

aware of the unusage of local/ global variables

#rule 18

function must have return type

ex: int ettiksoft(int *ptr, int arr[])


{

//logic

these are some of misra rules i will back with whole (mandatory,required rules)rules

You might also like