2011-01-15 12 views
5

Gestern ging ich zum Englischunterricht und traf einen neuen Freund, er sagte mit mir über die Arbeit, die er geleistet hat (noch habe ich jetzt in der Schule gelernt).Framework oder nicht?

In seinem Unternehmen haben die Kunden viele Anfrage für ihr Projekt, wenn Sie Framework verwenden, aber alle Komponente nicht verstehen oder so, würden Sie Problem mit Ihrem Quellcode und bringen Sie tat nicht behebe es, weil es von einen anderen gebaut hat. Und Cusomters zahlten Geld für Sie, um ihr Projekt zu entwickeln, Sie müssen es selbst abgeschlossen haben, und wenn Fehler auftreten, würden Sie es beheben. Aber wenn Sie Rahmen verwenden, können Sie beheben oder nicht, es ist 50/50 Prozent für Sie.

Ich wundere mich über seine sagte. Kannst du mir helfen, die beste Wahl zu treffen? Framework oder nicht?

Wir haben viele Arten Kunden und wir müssen mit einigen Technologien wie struts/hibernate/Spring/oder so weiter arbeiten ... wenn nicht Framework die Zeit verwenden, die wir Projekt so lange abschließen, aber wenn es ich glaube nicht alle Komponenten davon kann ich verstehen.

Vielen Dank für Ihren Vorschlag!

+3

SO benötigt eine Übersetzungsfunktion. –

+3

Grundsätzlich sind die Fragen: • Soll ich bestehende Frameworks in meinen Projekten verwenden? • Was passiert, wenn es Fehler im Framework gibt, wie kann ich sie beheben? • Muss ich die vollständigen Frameworks verstehen, bevor ich sie verwenden kann? • Wenn ich ein Framework verwende, ist das * Betrug *, weil mein Kunde * ich * Software entwickeln möchte? • Wir müssen mit Produkten von Drittanbietern wie Structs/Hibernate/Spring arbeiten, und wenn wir sie selbst implementieren müssen, werden die Projekte sehr lange dauern. –

Antwort

9

• Sollte ich bestehende Frameworks in meinen Projekten verwenden?

Ja, im Allgemeinen sollten Sie. Die Entwickler der Frameworks haben viel Arbeit in sie gesteckt, um sie gut zu machen, und viele andere Leute nutzen auch die Frameworks. Das bedeutet, dass der Code in der Praxis gut getestet ist. Wenn Sie Ihren eigenen Code schreiben, wird er nur von Ihnen und Ihrem Team getestet.

• Was passiert, wenn es Fehler im Framework gibt, wie kann ich sie beheben?

Gute Frage, ich weiß keine Antwort sofort. Höchstwahrscheinlich würden Sie eigenen Code schreiben, um das Problem zu umgehen, wie eine kleine Wrapper-Klasse.

• Muss ich die vollständigen Frameworks verstehen, bevor ich sie verwenden kann?

Nein, Sie nicht. Einige Frameworks sind groß und decken jeden Aspekt der Softwareentwicklung ab. In den meisten Fällen müssen Sie nur die Dinge lernen, die Sie wirklich machen wollen, und noch einiges mehr. Aber nicht jedes Detail.

• Wenn ich ein Framework verwende, ist das ein Betrug, da mein Kunde möchte, dass ich Software entwickle?

Nein, ist es nicht. Ihr Kunde möchte nicht, dass Sie viel arbeiten, sondern dass seine Projekte erledigt und beendet werden. Das heißt, wenn Sie weniger Arbeit machen und von der Arbeit anderer profitieren können, ist das normalerweise in Ordnung.

• Wir müssen mit Produkten von Drittanbietern wie Structs/Hibernate/Spring arbeiten, und wenn wir sie selbst implementieren müssen, werden die Projekte sehr lange dauern.

Sie wollen wirklich nicht alles implementieren, was Spring, Hibernate und Struts bereits gelöst haben. Nutze diese Frameworks und sei froh, dass jemand anderes die Arbeit gemacht hat. Es sind viele Mannjahre, die du retten wirst.

+0

Gute Antwort +1! Über Betrug: Kein Betrug, da Sie eine billigere Lösung anbieten können, schneller und zuverlässiger, basierend auf der Tatsache, dass Sie nicht von vorne anfangen. Schließlich schreiben Sie kein Betriebssystem für jede Anwendung, die Sie verkaufen ... –

+0

Vielen Dank für Ihre Ideen – MYE

1

Es gibt viele Faktoren zu berücksichtigen:

Ist der Rahmen kommerziell? Wenn ja, verfügt das Framework über ein reaktionsfähiges Support-Team mit der Fähigkeit, Demos, Dokumentation, Beratung, "Work-Abouts" und Hotfixes bereitzustellen? Kannst du den Quellcode kaufen, um irgendwelche Optimierungen vorzunehmen, die du brauchst? (Lohnt es sich, extra Zugriff auf die Quelle zu haben und können Sie eine modifizierte Kopie weiterverbreiten?)

Ist das Framework "Open Source"? Wenn ja, hat das Framework ein responsives Forum oder eine Mailingliste, die Antworten auf Probleme geben kann? Gibt es bezahlt Berater oder Auftragnehmer? Ist die Dokumentation gut? Ist der Rahmen beliebt und wird er gepflegt? Können Sie nach Bedarf Hotfixes anwenden?

Wie viel "Zeit" ist erforderlich, um das Framework zu lernen? Müssen spezielle Konventionen verwendet werden? Führt die Verwendung des Frameworks zu einem Lock-in, das zukünftige Anforderungen nicht erfüllt?

usw. usw.

Dies alles führt zu: den Rahmen letztlich Arbeit produktiver macht mit?

1

Ich denke, es hängt von der Größe des Projekts ab. Wenn Sie in einem kleinen Projekt arbeiten, ist es wahrscheinlich ein Unsinn, ein Framework zu verwenden, weil Sie weniger produktiv sein werden. Stattdessen, wenn Sie in einem großen Projekt arbeiten, kann das Framework Ihnen sehr helfen. Wenn Sie beispielsweise in einem Projekt mit drei oder vier Objekten/Tabellen arbeiten, ist es vielleicht ein Unsinn, es zu verwenden, weil es wahrscheinlich viel einfacher ist, mit JDBC und sogar mit der Software zu arbeiten wird viel schneller laufen. Aber wenn Sie in einem Projekt mit Docens von Objekten/Tabellen arbeiten mit JDBC arbeiten kann ein großer Kopfschmerz sein, und Winterschlaf hilft Ihnen sehr. Die Zeit, die Sie verlieren in der Konfiguration des Frameworks ist klein im Vergleich zu dem großen Vorteil in der Vereinfachung der Entwicklung.

Entsprechend den möglichen Fehlern im Rahmen, ist es wichtig, ein Rahmenwerk mit einer guten Unterstützung und einer guten Gemeinschaft zu verwenden, die Ihnen helfen kann, Ihre Probleme zu lösen. Auch wenn Sie ein Open-Source-Framework verwenden, können Sie versuchen, den Fehler zu beheben, eine neue Funktion hinzuzufügen oder eine vorhandene zu ändern, um sie an die Anforderungen Ihres Projekts anzupassen.

Verwandte Themen