Undeclared Variablen obwohl deklariert?



  • Ich hab tatsächlich manchmal mit monströsen Funktionen von mehreren hundert Zeilen zu tun (ich glaub der Rekord liegt bei um die 700). Meistens kann man da irgendeine Struktur drin erkennen und die Funktion etwas besser gliedern, aber wenn die Variablen alle vorneweg deklariert sind, weiß man erstmal gar nicht, ob die überhaupt und wenn ja wo die überall -- und hoffentlich nicht in mehr als einer Bedeutung! -- verwendet werden. Der erste Schritt um das Chaos zu reduzieren besteht darin, die Variablen lokaler zu machen. Die Empfehlung, gerade bei solchen Abscheulichkeiten die Variablen am Anfang zu deklarieren, ist grotesk.



  • Bashar schrieb:

    Ich hab tatsächlich manchmal mit monströsen Funktionen von mehreren hundert Zeilen zu tun (ich glaub der Rekord liegt bei um die 700).

    Zu tun? Ha! Ich habe solche Monster geschrieben! 😃 Aber das war in meiner Ausbildung, vor zehn Jahren oder so. Mein Rekord liegt allerdings bei gut 1000 Zeilen. Und auch hier waren alle Deklarationen am Funktionsanfang. Mein Chef sagte, dass so die Übersicht über alle Variablen gewährleistet wird. 🙄 Ich weiß gar nicht mehr sicher, ob der Clipper-Compiler auch Deklarationen mittendrin zugelassen hätte, ich glaube aber schon. Wie auch immer, man lernt ja dazu.



  • Ich hab da einen heißen Trick für alte C-Compiler:

    void foo() {
      {
        int i;
        /* ... */
      }
    
      {
        int i;
        /* ... */
      }
    }
    

    Ansonsten kann ich Bashar nur zustimmen. Allerdings wäre die sinnvolle Handhabung von Variablendeklarationen in solchen Monstern in gewisser Weise ein Stilbruch. 😉


Anmelden zum Antworten