2010-09-15 5 views
6

Wir versuchen immer, unsere Fähigkeit zu verbessern, unsere Fähigkeiten anzuwenden, um ein Problem zu lösen. Die Prinzipien des Software-Engineerings haben mir wesentlich dabei geholfen, Code mit höherer Qualität zu schreiben. Dazu gehören Tests, Modularisierung, ggf. Verwendung von OO.Software Engineering Principles mit Javascript

Hier ist ein Beispiel, wie ich in meinem JS eine Modularisierung erreicht habe. Vielleicht ist es ein schlechter Weg, um dies zu erreichen, aber es dient als ein Beispiel dessen, was ich meine und enthält ein paar Fragen für sich.

framework.js

Framework = { 
    CurrentState : { 
     IsConfigurationLoaded : false, 
     IsCurrentConfigurationValid : false, 
     Configuration : undefined //undefined .. good? bad? undefined? 
    }, 
    Event : { 
     //event lib 
    }, 
    //you get the idea 
} 

Frage:

Auf welche Weise wenden Sie software engineering Grundsätze für die Lesbarkeit, Wartbarkeit und andere Qualitätsmerkmale Ihrer JS zu verbessern?

Andere Verwandte (speziellere) Fragen beantworten helfen:

ich einmal eine einfache JS Unit Testing Framework geschrieben hatte, die einfach hatte behauptet und ein Testhilfsmethode eine Lambda-Einnahme. Was denken Sie über Unit Testing Javascript?

Wie wichtig ist die Definition der Grenze zwischen Ihrem Code und Framework?

JS wird meist in einem Browser oder auf einer Website verwendet. Reduziert/hebt dies bestimmte Bedenken auf?

Empfehlen Sie die Verwendung von Klassen und OO-Prinzipien?

Verwendung von undefined und/oder null? Sollte es verboten sein?

Verwendung von try/catch? Empfohlen?

Wann wechseln Sie von JSON zu Klassen? Verwenden Sie Util-Methoden, die mit den Daten arbeiten?

Verwendung des Prototyps? Empfohlen? Was ist ein guter Fall, wo Sie es nicht verwenden würden?

Antwort

1

Im großen Projekt tendiere ich dazu, zwischen Modell-, Kontroll- und Ansichtsdateien ([mvc-pattern] [1]) zu unterscheiden.

Die Modelldatei enthält alles, was Daten betrifft, insbesondere meine Klasse (OOP). ein Beispiel für eine Modell-Datei könnte sein:

function myClass(){ 
    //private variable 
    var variable=5; 

    //public variable  
    this.newVariable = 10; 

    function myFunction() { 
     //do some stuff 
     alert("my function"); 
    }  

    //public stuff 
    return { 
     myPublicFunction: myFunction 
    } 
} 

die Blick-Datei enthält alles, um das Layout und Ansicht über und die Steuerdatei wird mit dem Material gefüllt bezüglich Datenhandling. control-file verwendet die in der Modelldatei deklarierte Klasse und arbeitet damit zusammen. Die Ansicht muss also nur die Steuerdatei enthalten und die Funktionen aufrufen, die für das Layout benötigt werden.

aber im Allgemeinen ist es ganz anders zu verallgemeinern. Ich mag das oo-Muster und trie zu verwenden ist, wenn es Sinn macht. aber ich habe nur Erfahrung mit iPhone-Entwicklung, daher kann ich nichts über Web Dev sagen.

[1]: http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controller