Frage

mit Kombination von mod_perl, axkit und Apache

Meine Firma Web-Anwendungen entwickeln. Wir haben jede Menge Perl-Module, Javascripts, etc., die alle in Unix-Betriebssystem.

Jedes Mal, wenn ich eine neue Funktion schreiben müssen, ich versuche, einige Wiederverwendung von Code zu tun, aber die Sache ist, alle Perl-Module und Javascripts über Ordner verstreut sind.

ich hasse nur einige Codes zu schreiben, um später festzustellen, dass es bereits eine Funktion, die das gleiche getan, beinhaltet meine aktuelle Methode versucht, für den Tabellennamen grep, um zu sehen, ob es eine redundante Funktion ist, aber abgesehen davon, ich bin ziemlich viel wird nur eine neue Funktion aufgeben und schreiben, weil ich auf der Suche und das finden nichts nicht zu viel Zeit verbringen.

Gibt es einen besseren Weg, dies zu tun? Oder noch besser, gibt es Freeware-Tools, die ich installieren kann, die mir helfen kann, richtig alle Funktionen und Module verwalten und sogar Entwicklern ermöglichen, Kommentare zu protokollieren, etc.

EDIT

Es gibt diese Diskussion auf Code-Duplizierung auf c ++ Nachweis mit Werkzeuge, tun wir etwas Derartiges für perl-Codes in Unix-Plattform haben?

Dank ~ Steve

War es hilfreich?

Lösung

Organisieren Ihr Quellverzeichnis, so dass jede Funktionalität hat nur einen Ort, wo es sein sollte und es ist leicht, etwas zu finden.

Stellen Sie sicher, Namenskonvention zu teilen um Doppelarbeit zu vermeiden.

Design Ihr Modul so, dass sie nur eine Sache zu tun - und tun es auch.

Überprüfen der Code sicher, Namen und Orte zu machen sind korrekt.

Geben Sie ein effizientes Search Engine basierend auf einem Code-Indexer, so dass es einfach ist, zu schauen, ob es bereits eine Funktion eine besondere Aufgabe.

Unterschätzen Sie nicht die Zeit, um verallgemeinern eine vorhandene Komponente, so dass sie effektiv wiederverwendet werden können.

Document die Module, mit API-Dokumentation einer / oder Komponententests.

Kommunikation innerhalb so das Team, dass jeder ein gutes Verständnis von dem, was möglicherweise bereits geschrieben wurde, wer oder weiß hat, die noch arbeiten kann / ein Modul verwendet.

Andere Tipps

Ich vertraue dir irgendeine Form von Versionskontrollsoftware haben ( svn Mercurial , git, was aber nicht VSS)? Wenn Sie jetzt nicht die Zeit, eins zu bekommen und starten Sie es. Auf diese Weise haben Sie zumindest eine Vorstellung davon, welche Module Sie verwenden, und wo der Code ist. Sie können auch einen ctags-like Index alle Module verwenden Sie geschrieben haben (oder verwenden ).

Eine IDE (so viel wie ich diese nicht mag) kann auch die Suche nach Code und refactor helfen.

Das ist etwas, was ich bin sehr interessiert an.

eine einfache Versionskontrollsoftware wie SVN, Git oder Basar zu verwenden ist nicht genau das, was ich will. Ein VCS ist obligatorisch zusätzlich zu einem solchen System, aber es ist nicht das System. Nach einigen Recherchen habe ich in Verpackung, um dies zu erreichen aussehen wurde gesagt, und ich denke, die Art und Weise eine Art von Verpackungssystem zu gehen.

Wenn Sie ein Beispiel für Verpackungssysteme wollen, schauen Sie sich Debians APT. Jedes Paket hat Abhängigkeiten mit Versionen eine Beschreibung und Sourcecode und ein gutes Verpackungssystem gegeben, können Sie wie „magic search set Gleichung Fixpoint“ gehen, und das magische Verpackungssystem wird ein Modul finden, das das Problem löst. Wenn Sie das Paket im Quellcode enthalten, wäre es auch alle fehlenden Abhängigkeiten hinzufügen, wie wahrscheinlich ein Diagramm und so.

Allerdings begann die Forschung in diesem Bereich kurz vor meinem Laptop-Festplatte gestorben, die weitere Forschung abgegrenzt und die tatsächlichen Ergebnisse in diese Richtung, aber vielleicht sind Sie in der Lage, etwas Interessantes (und sagen Sie mir, finden schubsen, schubsen )

HTH, Tetha

Wenn Sie Ihre Module umfassen POD Dokumentation und werden unter einem gemeinsamen Verzeichnis oder einen Satz von Verzeichnissen installiert , sollte es relativ einfach zu benutzen pod2html sein, um HTML-Dokumente zu erzeugen. Sobald Sie die HTML-Dokumentation haben, wirft in einem Volltextsuche-Index (SQLite mit FTS3, MySQL, Lucene, KinoSearch, was auch immer) und ein einfaches Suchformular App (CGI oder mod_perl), und Sie sind bereit zu gehen.

Wenn Sie trac verwenden, gibt es eine Plugin , das schaffen trac Wiki-Seiten Seiten Ihrer .pod und .pm Dateien wieder, die Dokumentation einfach. zur Übersicht

Ich habe einmal in einer Firma gearbeitet, die Perl verwendet, und haben ähnliche Probleme. Die Lösung, die wir kommen mit, war es, die Funktionen in Dateien neu zu organisieren, in Betracht gezogen wird eine 3-Tier-Architektur (Präsentation, Business und Persistenz) und die Elemente manipuliert werden.

So, können wir eine Perl-Datei zu jeder Haupt Tabelle in der Datenbank haben, eine Perl-Datei für jedes Unternehmen ihrer Geschäftsabläufe zu manipulieren, und so weiter ... mit dieser, ist es einfach, Code-Duplizierung zu vermeiden, weil Sie genau wissen, wo suchen Sie nach einer bestimmten Funktion.

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