Frage

Ich bin an einem Punkt in meiner Karriere freien, wo ich mehr Web-Anwendungen für kleine bis mittelgroße Unternehmen, die Dinge entwickelt habe, wie Projektmanagement, Buchung / Reservierung und E-Mail-Management zu unterstützen.

Ich mag die Arbeit, aber feststellen, dass schließlich meine Anwendungen zu einem Punkt, wo das mithören für die Wartung sehr hoch ist. Ich sehe Code zurück ich vor 6 Monaten geschrieben und finde ich eine Weile verbringen nur Umlernen, wie ich es ursprünglich codierte, bevor ich ein Update oder Feature Ergänzungen vornehmen kann. Ich versuche Frameworks zu üben mit (ich habe vor Zend Framework verwendet, und bin am überlegen Django für mein nächstes Projekt)

Welche Techniken oder Strategien verwenden Sie eine Anwendung planen, dass viele Benutzer von der Handhabung, ohne brechen kann und hält immer noch den Code sauber genug, um leicht zu halten? Wenn jemand irgendwelche Bücher oder Artikel hat sie empfehlen könnte, dass stark und geschätzt würde.

War es hilfreich?

Lösung

Obwohl es zu diesem Thema sicherlich gute Artikel sind, keiner von ihnen ist ein Ersatz der realen Welt Erfahrung.

Wartbarkeit ist nichts, was man gerade im Voraus planen kann, außer bei sehr kleinen Projekten. Es ist etwas, Sie kümmern sich während des gesamten Projektes zu nehmen. In der Tat kann viele Klassen und Infrastruktur-Code im Voraus zu schaffen erzeugt Code, der härter ist auch als naiver Spaghetti-Code zu verstehen.

Also mein Rat ist zu aufzuräumen Ihre bestehenden Projekte , indem sie kontinuierlich Refactoring. Schauen Sie sich die Teile, die ein Schmerz waren zu ändern, und für einfachere Lösungen bemühen, die einfacher zu verstehen und anzupassen. Wenn der Code selbst zu schlecht für das ist, sollten Sie es von Grund auf neu zu schreiben.

Sie keine neuen Projekte starten und erwarten, dass sie erfolgreich zu sein, nur weil Ihr ein paar mehr Artikel lesen oder verwendet einen neuen Rahmen. Stattdessen identifiziert die Fehler Ihrer vorhandenen Projekte und reparieren ihre spezifischen Probleme. Jedes Mal, wenn Sie Ihren Code ändern müssen, fragen Sie sich, wie es restrukturieren ähnliche Veränderungen in der Zukunft zu unterstützen. Dies ist, was Sie ohnehin tun müssen, weil es wird ähnliche Veränderungen in der Zukunft sein.

Durch diese Refactorings tun Sie über verschiedene stolpern werden spezifische Fragen können Sie fragen und lesen Sie Artikel über. Auf diese Weise können mehr als nur um zu fragen allgemeine Fragen und Lesen allgemeine Artikel über Wartung und Frameworks lernen werden.

Starten Sie den Code Reinigung heute . Sie nicht verschieben es auf Ihre zukünftigen Projekte.


(Das gleiche gilt für die Dokumentation. Jeder erster docs war sehr schlecht. Nach mehreren Monaten entpuppen sie sich als zu ausführlich und mit unwichtigen Sachen gefüllt zu sein. So ergänzt die Dokumentation mit Lösungen für die Probleme, die Sie wirklich hatte, weil die Chancen gut, dass im nächsten Jahr, das Sie mit einem ähnlichen Problem konfrontiert werden. Diese Erfahrungen werden Ihre Schreibstile mehr als jeder verbessern Style Guide „wie gut schreiben“.)

Andere Tipps

Ich würde ehrlich empfehlen bei Martin Fowlers suchen Patterns of Enterprise Application Architecture . Es behandelt eine Menge Möglichkeiten, um Ihre Anwendung besser organisiert und wartbar zu machen. Darüber hinaus würde ich mit Unit-Tests empfehlen Ihnen ein besseres Verständnis des Codes zu geben. Kent Becks Buch auf Test Driven Development ist eine großartige Ressource für das Lernen, wie zu adressieren ändern, um Ihren Code durch Unit-Tests.

die Wartbarkeit verbessern könnten Sie:

  • Wenn Sie sind der einzige Entwickler dann eine Codierungsstil annehmen und daran halten. Das gibt Ihnen Vertrauen später, wenn sie durch Ihren eigenen Code über Dinge, die Navigation Sie möglicherweise getan haben könnte und die Dinge, die man es absolut nicht. Sein zuversichtlich, wo sie suchen müssen und worauf zu achten ist und was nicht zu suchen, werden Sie eine Menge Zeit sparen.

  • Immer Zeit in Anspruch nehmen Dokumentation auf den neuesten Stand zu bringen. Fügen Sie die Aufgabe in Entwicklungsplan; umfassen, dass die Zeit in den Plan als Teil jeder Änderung oder eine neue Funktion.

  • Halten Sie Dokumentation ausgeglichen: einige hohe Diagramme, aussagekräftige Kommentare. Die besten Kommentare sagen, dass nicht aus dem Code selbst gelesen werden. Wie aus geschäftlichen Gründen oder "Warum" hinter bestimmten Stücken von Code.

  • Fügen Sie in den Plan der Aufwand Codestruktur zu halten, Ordnernamen, Namensräume, Objekt, Variable und Routine Namen auf dem neuesten Stand und reflektiert, was sie tatsächlich tun. Dies wird einen langen Weg in der Verbesserung der Wartbarkeit gehen. Rufen Sie immer einen Spaten „Spaten“. Vermeiden Sie große Teile des Codes, die Struktur es mit Hilfe innerhalb der Sprache Ihrer Wahl, geben chunks aussagekräftige Namen.

  • Niedrige Kopplung und hohe Kohärenz. Stellen Sie sicher, dass diese zu erreichen, mit Techniken auf dem neuesten Stand. Vertraglich, Dependency Injection, Aspekte, Design Patterns etc Design

  • Von Task-Management-Sicht sollten Sie mehr Zeit schätzen und höhere Rate für nicht-kontinuierliche Stücke der Arbeit aufzuladen. Zögern Sie nicht, Kunden darauf aufmerksam zu machen, dass Sie zusätzliche Zeit benötigen, kleine nicht-ständigen Veränderungen zu tun Zeit verteilt, im Gegensatz zu größeren kontinuierlichen Projekte und laufende Wartung, da die Verwaltung und Analyse Aufwand ist größer (Sie müssen verwalten und analysieren jede Änderung einschließlich der Auswirkungen auf dem bestehenden System separat). Ein Vorteil Ihr Kunde geht zu bekommen, ist höhere Lebenserwartung des Systems. Die andere ist eine genaue Dokumentation, die ihre Option erhalten wird jemand anderes Hilfe zu suchen, wenn sie dies tun zu entscheiden. Beide schützen Investitionen seitens der Kunden und sind starke Verkaufsargumente.

  • Verwenden Sie die Quellcodeverwaltung, wenn Sie das nicht tun, schon

  • ein detailliertes Protokoll der alles für den Kunden sowie alle wichtigen Kommunikation (ein einfacher Computer oder Papier basierte CMS) durchgeführt halten. Aktualisieren Sie Ihr Gedächtnis vor jeder Zuordnung.

  • ein Protokoll der Ausgaben halten offen gelassen, Ideen, Vorschläge pro Kunde; refresh wieder Ihr Gedächtnis vor einem Auftrag beginnt.

  • Planen Sie im Voraus, wie der Support nach der Implementierung durchgeführt werden soll, mit dem Kunden diskutieren. Machen Sie Ihre Systeme sind leicht zu pflegen. Planen Sie für die Parametrierung, Monitoring-Tools, Plausibilitätsprüfungen in-bauen. Verkauft Support nach der Implementierung des Kunden im Rahmen des ursprünglichen Auftrags.

  • erweitert durch die Einstellung, auch wenn Sie jemanden brauchen nur, dass nach der Implementierung zu unterstützen, führen Sie das Admin-Bits.

Empfohlene Lektüre:

Der wichtigste Rat, den ich geben kann eine alte Web-Anwendung in eine extrem hohe erhältlich, hohe Nachfrage Webapplikation wachsen geholfen zu haben, ist alles zu verkapseln -. Insbesondere

  1. Verwenden Sie gute MVC Grundsätze und Rahmen Ihrer Ansicht Schicht von Geschäftslogik und Datenmodell zu trennen.
  2. Verwenden Sie eine robuste persistance Schicht zu kuppeln Ihre Geschäftslogik auf Ihr Datenmodell
  3. Planen für Staatenlosigkeit und asynchrones Verhalten.

Hier ist ein ausgezeichneter Artikel auf, wie eBay, diese Probleme anpackt http://www.infoq.com/articles/ebay-scalability-best- Praktiken

  1. Verwenden Sie einen Rahmen / MVC-System. Je mehr organisiert und zentralisiert Code ist, desto besser.

  2. Versuchen Sie Memcache verwenden. PHP hat eine für sie in Verlängerung gebaut, dauert es etwa 10 Minuten einzurichten und eine weitere zwanzig in Ihrer Anwendung zu bringen. Sie können zwischengespeichert werden, was auch immer Sie es wollen - ich cachen alle meine Datenbankeinträge in ihm - für jede Anwendung. Es tut Wanders.

  3. Ich würde empfehlen, ein Quellcodeverwaltungssystem wie Subversion verwenden, wenn Sie nicht bereits sind.

Sie sollten prüfen, vielleicht Sharepoint verwenden. Es ist eine Umgebung, die bereits entwickelt ist alles, was Sie erwähnt haben, zu tun, und hat viele andere Funktionen, die Sie vielleicht nicht gedacht haben (aber vielleicht werden Sie in Zukunft :-) brauchen)

Hier 's einige Informationen von der offiziellen Website.
Es gibt 2 verschiedene Sharepoint-Umgebungen Sie verwenden können: Windows Sharepoint Services (WSS) oder Microsoft Office Sharepoint Server (MOSS). WSS ist kostenlos und wird mit Windows Server 2003, während MOSS nicht frei, sondern hat viel mehr Funktionen und deckt fast alle Unternehmen der Bedürfnisse.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top