Programmier Stil Von Helmut Schellong
 
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

Veränderung (letzte Änderung) (Korrektur, Autor, Normalansicht)

Verändert: 109c109
KategorieProgrammierStil
KategorieProgrammierStil KategorieSchellong

Nachfolgend der C-Stil von jemandem, der sich niemals nach irgendwelchen Konventionen in diesem Bereich gerichtet hat, sondern der absolut stoisch seinen Kode stets so gestaltet hat, daß er selbst die im Kode steckenden Algorithmen optisch am schnellsten erfassen und (wieder)verstehen kann.

Von allergrößter Wichtigkeit ist dabei, daß die individuellen Angewohnheiten mit größter Disziplin im gesamten Kode in genau gleicher Form beibehalten werden. Dies nicht nur, weil dann Suchen und Ersetzen einfach ist.

Individuelle Gestaltungsschwerpunkte bei:

int fuu(a, b, c)
   int a, b, c;
{
   if (a>b)  c+=4;
   else      c=a;
   return (c);
}

Obenstehende Form habe ich mir aufgrund des Lernens mit K&R1 angewöhnt. (~1985)
Ich verwende sie heute allerdings nur noch sehr selten - aber sie hat meinen Stil teilweise geprägt.

for (i=0;  i<14;  ++i)  { a= 3*i; /*...*/ break; }

for (i=0;  i<14;  ++i)  {
   a= 3*i;
   //...
}

while ( //...
   a= 3*i;

if (a>b && c==4)  {
  n+= s | rg+1;
  if (*o)  bims&= ~6, ++rg;
  //...
}

if (a>b && c==4 && fk>=Gfk+2)
{
  Can.PSS.status.cdzubk= ~Can.PSS.status.cdzub1;
  if (Can.PSS.anz >= Can.UNV.anz)  //...
  //..........................
}

static int  FerPKsend, SendMsg, eSendMsg;

switch (ii)  {
  case 't':  k= 24;  break;
  case 'T':  k=  0;  break;
  case 'j':  k= ~l;  break;
  //...
  case  10:  //.............
             break;
  case  13:
      Fuu(aaaaa, bbbbbbb, cccccc, dddddddd);
      Fuv(aaa  , bbb    ,     cc,       dd);
      break;
}

--HelmutSchellong


Als gute coding convention hat sich bei überprüfung folgender Konstrukt herausgestellt:
if( <constant> == <variable>)
anstatt
if( <variable> == <constant>)

Der Vorteil liegt in der Lesbarkeit (vor allem bei langen Zeilen):
if( ERROR_NO_CONNECTION = db_make_connect( ...

und in der Fehlerbehaftung falls man ein '=' vergisst.

Erste Variante würde einen Fehler erzeugen, die zweite silently ignorieren. -- MarkusFischer

Ich denke, dieser Vorschlag würde besser auf eine Seite ProgrammierStilCeeElemente? passen. -- HelmutLeitner
+1, waer' nicht schlecht wenn man noch mehr haette ? -- MarkusFischer


KategorieProgrammierStil KategorieSchellong
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 5. Oktober 2004 12:00 (diff))
Suchbegriff: gesucht wird
im Titel
im Text