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 …
:-
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?