[linux-l] do{ . } while (0) (was: Arrays in C)

Steffen Dettmer steffen at dett.de
Fr Nov 25 16:09:27 CET 2005


* Jan-Benedict Glaw wrote on Thu, Nov 24, 2005 at 00:01 +0100:
> On Wed, 2005-11-23 23:51:35 +0100, Oliver Bandel <oliver at first.in-berlin.de> wrote:
> 
> > {}
> > ist ein Block in C.
> > Man kann am Anfang jedes Blockes auch lokale Variablen definieren...
> > ...wissen übrigens die wenigsten, weshalb sie das lokale Definieren
> > von Variablen als "++" von C++ darstellen (im ggs. zu C) ;-)
> 
> ...und viele derer, die es wissen, benutzen es wissentlich nicht. Ich
> finde es ganz schön, wenn man einmal, am Anfang der Funktion, sieht,
> welche Variablen benutzt werden. Mal schnell on the fly noch ein paar
> weitere benutzen zu können ist nett, erhöht aber IMHO nicht die
> Lesbarkeit.

Ich benutze das wissentlich und gern, um dem Lokalitätsprinzip "alles so
lokal wie möglich" gerecht zu werden. Selbst in C++ schreibe ich
vielleicht

bool option;
{
   std::string value(getProperty("meine.option"));
   myTrimFunction(value);

   // sowas schreibt man natürlich nie (case, ...)
   if (value == "true" || value = "yes") {
      option = true;
   } else {
      option = true;
   }
}

warum value aus Versehen weiteren Codeteilen zur Verfügung stellen!

Lesbar finde ich das: es ist halt ein Block, der option zuweist (jajaja,
geht in Perl alles viel schöner, ich weiss ;)).

oki,

Steffen

-- 
Dieses Schreiben wurde maschinell erstellt,
es trägt daher weder Unterschrift noch Siegel.



Mehr Informationen über die Mailingliste linux-l