Andreas Schigold: Mini-Einführung in die Programmierung; Thema: Berechnungen

Beitrag lesen

In einem Forum, wo ich in jedem dritten Posting was vom Validator.w3.org lese, kann ich das jetzt nicht verstehen. Es zeugt einfach von einer unsauberen Programmierweise und erschwert oft die Lesbarkeit von Programmen. Außerdem eröffnet sich damit eine massive Fehlerquelle:

Ich habe mir z.B. angewöhnt, das Schreiben einer Verzweigung oder "while"-Wiederholung gedanklich mit den Worten "wenn/solange ($a identisch gleich $b) dann ...."

Dadurch ist es mir gelungen, den Fehler - und meistens ist es ein Fehler, weil nicht so gewollt - mit dem einfachen Gleich abzustellen.

Schreibt man aber in viele Verzweigungsköpfe noch Zuweisungen hinein, erhöht das die Gefahr des Schußlichkeitsfehlers enorm.

also:
if ( wanted(sauberer Programmierstil) == true) {
// few errors
} else{

use Mosche;

In den meisten Programmiersprachen gibt es noch ein "vergleichendes Gleich" für Fallunterscheidungen:

if ($a == $b){
// mach dies
} else {
// mach das
}

An dieser Stelle sei erwähnt, daß es sogar ein Fehler wäre, das einfache Zuweisungs-"Gleich" (=) zu verwenden.

Ist es nicht. Es macht nur nicht das, was du willst. In diesem Kontext wird der Erfolgsfall der Zuweisung genommen.
Gebräuchlich ist dies zB bei:
while (my ($a, $b) = each %hash) {
...
}

und ist nichts anderes als eine Zuweisung.
if ($a = &blah('hhh')) {

erfolgreich zugewiesen

} else {

Zweisung nicht erfolgreich (Rückgabewert der Funktion 0

oder undef

}

use Tschoe qw(Matti);

}

/* bitte nicht persönlich nehmen ;-) */

return ("Grüße@all");