2012-10-07 56 views
14

Soy nuevo en la programación kernel, así que me gustaría saber qué estilo de codificación es más aceptable. Por ejemplo, en caso de error, ¿cuál de las siguientes opciones es mejor?Linux Kernel coding style

Ésta:

/* some stuff */ 
if(error) { 
    /* error handling */ 
    return -(errorcode); 
} 
/* normal actions */ 

o esta otra:

/* some stuff */ 
if(!error) { 
    /* normal actions */ 
} else { 
    /* error handling */ 
    return -(errorcode); 
} 

¿Dónde puedo encontrar ningún documento, que considera al núcleo estándar de codificación?

+12

http://www.kernel.org/doc/Documentation/CodingStyle – ouah

+0

@ouah hacen de esta una respuesta) – Alex

+1

, y partir de Dignísima ouah respuesta: su primer fragmento es "preferido" en el segundo. Pero el punto principal es usar el estilo de K & R (frente a .Net o Java o - el cielo no lo permita - los estilos de codificación MS "Húngaros");) – paulsm4

Respuesta

26

kernel de Linux tiene una guía de estilo de codificación:

https://www.kernel.org/doc/Documentation/process/coding-style.rst

En cuanto a su ejemplo, yo personalmente prefiero el primer estilo. Con el segundo estilo se violará rápidamente esta regla de estilo núcleo de Linux (kernel tiene estilo muesca de 8 caracteres):

si necesita más de 3 niveles de sangría, estás jodido de todos modos, y debe fijar su programa.

código de arriba a abajo la escritura (en contraposición a horizontal) a veces se denomina como Duffing. Te puedo sugerir esta excelente lectura sobre el tema:

Reading Code From Top to Bottom

+0

Gracias por la referencia al artículo Lectura del código de arriba a abajo. De hecho, es excelente. –