2012-10-07 11 views
14

Ich bin neu in der Kernel-Programmierung, also würde ich gerne herausfinden, welche Codierung Stil ist mehr akzeptabel. Zum Beispiel, im Falle der Fehlerbehandlung, welche der folgenden ist besser?Linux Kernel-Codierungsstil

Dieses:

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

oder diese:

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

Wo kann ich ein Dokument zu finden, die Standard-Kernel in Bezug auf Codierung?

+12

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

+0

@ouah diese eine Antwort machen) – Alex

+1

Und auszuarbeiten ouah Most Excellent antwort: dein erster schnipsel ist "bevorzugt" über den zweiten. Aber der Hauptpunkt ist, K & R-Stil zu verwenden (vs. .Net oder Java oder - Himmel verboten - MS "Ungarisch" Codierungsstile);) – paulsm4

Antwort

26

Linux-Kernel hat eine Codierung Style Guide:

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

In Bezug auf Ihr Beispiel, ich persönlich bevorzuge die erste Stil. Mit dem zweiten Stil werden Sie schnell diese Kernel-Stil Regel Linux verletzen (Kernel-Stil verfügt über 8-Zeichen-Einzug):

wenn Sie mehr als 3 Stufen der Vertiefung benötigen, sind Sie sowieso geschraubt und sollte fixieren Sie Ihre Programm.

Schreiben von Code von oben nach unten (im Gegensatz zu horizontal gegenüberliegenden) wird manchmal bezeichnet als Duffing. Ich kann Ihnen diese ausgezeichnete Lektüre zum Thema vorschlagen:

Reading Code From Top to Bottom

+0

Vielen Dank für den Verweis auf den Artikel zum Lesen Code von oben nach unten. Es ist in der Tat ein ausgezeichneter. –