Du hast Leonidas nicht verstanden. Eine numerische Bewertung ist einfach sinnlos als Massstab fuer Code-Qualitaet. Denn was nutzt dir denn ein gemittelter Bauchgefuehls-Wert, wenn du konkrete Kritik haben willst?
Da ja inzwischen der Code in einem Format vorliegt, fuer das man nicht erstmal durch eine Million Reifen springen muss, hab' ich's mir mal angeschau(der)t.
Dinge, die mir auffielen (in keiner besonderen Ordnung und schwankender Dramatik):
*du benutzt exect zum importieren. Ich habe in 12 Jahren Python-Programmieren noch nie exec benutzen muessen, und du musst da auch nicht. Es gibt die Funktion
, die solltest du nehmen.
* das negierenn boolscher Werte geschieht durch
, nicht durch ein Dictionary das True auf False und False auf True mappt>
* Der code liest Dateien relativ zum current working directory ein. Das ist natuerlich fatal, wenn man sich mal woanders befindet. Dafuer kann man zB
verwenden, um sich dranlangzuhangeln
* die Mehrzahl von "module" ist "modules", nicht "moduls".
* Du machst unglaublich viel beim laden von modulen. Das ist IMHO bloede, weil du dich dadurch der Gefahr aussetzt, dass du die Initialisierung schlecht kontrollieren kannst in ihrer Reihenfolge. Besser, dedizierte Funktionen zu haben, die im main() dann aufgerufen werden.
So. Jetzt geh ich mal wieder Google V8 embedden spielen. Und BBCode saugt, darum sind das oben keine schoenen Listen. KA wie das geht.