Frage

Ich arbeite an einem ziemlich großen System von einem anderen Programmierer entwickelt, das nicht mehr hier arbeitet.

Und da ich bin der manisch Serienkiller, der es ist die Erhaltung und weiß, wo er lebt.

Aber Spaß Dinge beiseite, ist das System irgendwie als Klasse-System entwickelt und irgendwie nicht, und ich habe bereits eine Entwicklerversion Setup und kann neue Versionen ziemlich schnell bereitstellen.

  1. Haben Sie Tipps in Bezug auf einen Teil Umzug in ein neues Modell (i einen vollständigen Übergang nicht tun kann, bekommt einfach nicht die Zeit)
  2. Sie empfehlen Sie Klassennamen, die ich in das System verlassen können (ohne dass es wie ein Hack suchen), sondern wird mit den aktuellen Klassennamen (Benutzer, Daten, Logging etc.)
  3. nicht kollidieren

Danke.

War es hilfreich?

Lösung

Tipp # 0) Ist der vorhandene Code wirklich wirklich wirklich schlecht, oder ist es einfach nicht Ihre persönlichen Vorlieben anpassen? Wenn es die ehemalige ist, weiterhin diese Liste zu lesen. Falls letzteres, ein paar tiefen Atemzug ist, und verbringt mindestens einen Monat oder zwei, Dinge zu wissen, bevor Sie entscheiden, dass Sie es wieder tun müssen.

Tipp # 1) Wenn Sie Codierung, wenn Sie etwas sehen, das ist nicht richtig, beheben. Dies wird länger dauern, aber es wird schließlich Sie Produktivitätssteigerungen geben als das System wird ‚fixiert‘. Wenn Sie es wirklich keine Zeit haben, zu beheben, tun Sie sich einen Gefallen und fügen Sie einen Kommentar wie folgt aus: // TODO: Rejig Sache so tut es x Später, wenn Sie Zeit haben, einfach den Code für das Wort „TODO:“ zu erhalten eine Liste der Dinge, die Sie tun müssen. Sie könnten auch ihnen Ebene, wie "TODO-High", "TODO-Medium", "TODO-Low" geben. Wenn Sie Eclipse oder Zend Studio for Eclipse als Editor / IDE verwenden, können Sie es einrichten, um automatisch zu finden und Flagge diese für Sie, in Einstellungen-> Aufgaben.

Tipp # 2) Eine wichtige Sache zu tun, wenn Sie hoffen, (eventuell) Übergang zu MVC ist HTML von Logik zu trennen. Dies bedeutet, Vorlagen. Diese Aufgabe, eine lange Zeit in Anspruch nehmen könnte, aber sobald es fertig ist, wird der Rest des Übergangs viel einfacher.

Tipp # 3) Versuchen Konventionen zu etablieren. Beispiel: Controller & View Namen der URL entsprechen, und leben in Verzeichnissen der URL entspricht. URL bearbeiten Platz 1234: / places / edit / 1234 Controller File: /htdocs/sitename/controllers/placesController.php Vorlagendatei: /htdocs/sitename/views/places/edit.tpl

Tipp # 4) Lesen Sie 'Erste Schritte mit' Anleitungen für die wichtigsten Frameworks: Zend, CakePHP, CodeIgniter / Kohana, Symfony. Sehen Sie, wenn man besser als der andere schaut zu Ihnen. Fragen Sie sich, warum Sie es mögen. Wird es für Sie arbeiten, oder benötigen Sie Ihren eigenen Rahmen (zweifelhaft) rollen. Wenn möglich, verwenden Sie einen vorhandenen Rahmen. Es wird bereits von Hunderten oder Tausenden von Menschen Bug-tested, und das ist Zeit, die Sie sparen! Ich mag Zend Framework selbst, und es ist besonders gut für „Übergang Projekte“ wie bei Ihnen, weil Sie es nehmen oder ihm ein Stück zu einer Zeit verlassen. Ich meine, könnten Sie nur wählen Zend View-Objekt zu verwenden oder nur verwenden, es ist DbTable Objekt. Sie sind frei, wie viel davon auszulassen, wie Sie möchten. Dies bedeutet, dass Sie nach und nach in ein Zend-World in Ihrem eigenen Tempo übergehen können. EZ-Komponenten funktionieren auf die gleiche Art und Weise.

Tipp # 5) Wrap-Klassen, die Sie durch die Erweiterung sie verwenden. Zum Beispiel verwende ich Zend_Acl, aber eigentlich meine eigene Acl-Klasse verwenden, die Zend_Acl erstreckt. Dies hat zwei wichtige Auswirkungen: a) Ich kann Zend_Acl für etwas anderes tauschen, ohne meinen Code zu ändern, weil sie alle auf den guten alten ‚Acl‘ bezieht sich b) Ich kann ändern, wie Zend_Acl funktioniert meine spezifischen Bedürfnisse anzupassen, weil ich was Methoden Ich mag in meiner ‚Acl‘ Klasse außer Kraft setzen kann.

Tipp # 6) Versuche von Management-Buy-in zu erhalten. Erklären Sie ihnen, dass Refactoring wird sich tatsächlich Geld sparen, weil es die Konsistenz zu erhöhen und Nachvollziehbarkeit des Codes, der die Anzahl von Fehlern hilft senkt und macht sie leichter zu finden und zu beheben.

Tipp 7) Versuchen Sie Bücher über das Thema, wie „Refactoring: Verbesserung das Designs vorhandenen Kodex“ Lesen von Martin Fowler

Andere Tipps

zend hat schöne Namenskonvention: http://framework.zend.com/manual/en/ Codierung-standard.naming-conventions.html

Sie fügten Zend_ Präfix sie alle Klassen und das ist, wie sie Auseinandersetzungen mit Dritten Klassen vermeiden.

Meiner Meinung nach jedem großes Projekt soll ähnliche Namenskonvention umzusetzen, zumindest für Kernklassen.

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