established 2006. das weblog von carolina koehn - #webdev #politics #personalthoughts

>> weshalb windows aus 40.000.000 zeilen code besteht

So sieht der Webclient von Microsoft Sharepoint von innen aus:

function DeferCall() { 
         if (arguments.length == 0) { 
             return null; 
             } 
         var args = arguments; 
         var fn = null; 
         if (browseris.ie5up || browseris.nav6up) { 
         eval("if (typeof(" + args[0] + ")=='function') { fn=" + args[0] + "; }"); 
             } 
         if (fn == null) { return null; } 
         if (args.length == 1) { 
         return fn(); 
         } else if (args.length == 2) { 
         return fn(args[1]); 
         } else if (args.length == 3) { 
         return fn(args[1], args[2]); 
         } else if (args.length == 4) { 
         return fn(args[1], args[2], args[3]); 
         } else if (args.length == 5) { 
         return fn(args[1], args[2], args[3], args[4]); 
         } else if (args.length == 6) { 
         return fn(args[1], args[2], args[3], args[4], args[5]); 
         } else if (args.length == 7) { 
         return fn(args[1], args[2], args[3], args[4], args[5], args[6]); 
         } else if (args.length == 8) { 
         return fn(args[1], args[2], args[3], args[4], args[5], args[6], args[7]); 
         } else if (args.length == 9) { 
         return fn(args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8]); 
         } else if (args.length == 10) { 
         return fn(args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9]); 
         } else { 
         var L_TooManyDefers_Text = "Too many arguments passed to DeferCall" 
         alert(L_TooManyDefers_Text); 
         } 
         return null; 
         }     

Ich wundere mich also nicht, warum die für ein Betriebssystem 40.000.000 Zeilen brauchen …

:-

1 Kommentar

  1. GwenDragon

    Heutzutage (und auch früher) müssen die Redmonder weder effizient noch sinnvoll programmieren.

    RAM kostet nix, CPUs haben immer 4 GHz Takt und Multicore, glauben jedenfalls so mache Entwickler.

    Meine Frage wegen des Codes oben: Wieso können die nicht mit Closures umgehen!?
    Und kennen die kein case?