Ich kenne keine anderen Umgebungen, aber wenn es um große (oft Open Source) PHP-Projekte geht, die andere geschrieben haben, ist phpXRef ein absoluter Lebensretter (insbesondere, wenn das Dokument online gestellt wird und Google es indizieren kann).
Sogar ein schlecht kommentiertes Projekt kann mir zumindest helfen, herauszufinden, wo Dinge definiert wurden und wo sie verwendet werden (zum Beispiel beim Refactoring).
Wenn gut kommentiert, bilden die resultierenden Seiten fast eine perfekte Bibel für die Codebasis (für meine Zwecke sowieso).
Darüber hinaus generiert meine bevorzugte IDE automatisch den Kommentarblock (wenn ich / ** eingebe), der ungefähr 75% der Kommentierungsarbeit für mich erledigt. Es ist erstaunlich, wie viele dumme Dinge ich im Laufe meines Programmierlebens nicht mehr ausführen konnte, nur weil ich anderen (und zukünftigen) Leuten erklären musste, was ich tue. Wenn mein Kommentar für den Dokumentgenerator größer ist als die Methode, bedeutet dies normalerweise, dass ich nicht genug Kaffee getrunken habe und vielleicht etwas härter darüber nachdenken möchte.
Diese selbstgleichen Kommentarblöcke erstellen auch den Inline-Vervollständigungs- "Hilfetext", damit ich genau sehen kann, was (von den anderen Programmierern) beim Schreiben des Funktionsaufrufs erwartet wurde. Dies ist ein enormer Produktivitätsschub für mich (insbesondere in den seltenen Fällen, in denen ein anderer hilfreicher Entwickler "Um Himmels willen, mache / mache nicht X" geschrieben hat - was eine Menge Schmerz ersparen kann.
Ich kann gar nicht genug betonen, wie nützlich es ist, die erwarteten Eingabetypen in komplexen (und häufig falsch benannten) PHP-Projekten und die Argumentreihenfolge in weniger häufig verwendeten Methoden anzugeben. Selbst mit meinem eigenen Code kann ich mich nicht immer daran erinnern, welche Argumente ich für etwas angegeben habe, das ich in einem Alter nicht angerührt habe.
In einem Fall bedeutete dies, dass die Ursache der wiederkehrenden Probleme darin bestand, dass aus irgendeinem Grund, der sich schlecht auf frühere Entwickler auswirkt, einige Funktionen und sogar Konstanten an einer großen Anzahl von Stellen definiert wurden (mit einem gewissen Grad an Inkonsistenz für zusätzlichen "Spaß"). . Das war das Zeichen, sich vom Projekt zu entfernen.
In größeren Projekten, die vor meiner Teilnahme begonnen haben, kann ich sehen, welcher Entwickler (vorausgesetzt, er hat die Klassendatei mit einem Namen und einer E-Mail versehen) die Klasse erstellt. Es ist sehr hilfreich, einfach den richtigen Entwickler zu finden und mit ihm zu sprechen.
Automatische Aufgabenlisten - Die Verwendung des @ todo-Tags (häufig in Projekten, in denen ich arbeite) bedeutet, dass in der Dokumentation nachverfolgt werden kann, was mehr Arbeit erfordert (oder nachgewiesene fehlende Funktionen). Wieder verfolgt meine IDE dies und das allein als eine gute Anleitung, was zuerst meine Aufmerksamkeit benötigt.
Schließlich (und für mich sehr wichtig) wird der nicht triviale Aufwand beseitigt, all das auszuschreiben und dann zu versuchen, es auf dem neuesten Stand zu halten, wenn einige (viele gelesene) Programmierer Änderungen vornehmen und nicht mit den Betreuern der Dokumentation sprechen.
Die Gründe dafür sind:
- Später Entwickler einen Stapel Zeit sparen,
- Verfolgen, wo Funktionen aufgerufen (und definiert) werden,
- Dumme Codierung erkennen,
- Finden (wie ein anderer darauf hingewiesen hat), wenn etwas offensichtlich fehlt,
- Refactoring vereinfachen (nie viel Spaß)
- (In vielen Fällen) eine Vorstellung davon zu bekommen, was der Entwickler versucht hat (vorausgesetzt, er oder sie hat einige Notizen hinterlassen).
- Wenn das Projekt so komplex ist, dass mehrere Lizenzen laufen (kein Spaß), kann ich schnell erkennen, welche Lizenzen für einen bestimmten Abschnitt gelten. Zugegeben, das ist ein Nebenbonus.
- Eine Vorstellung davon bekommen, mit wem über eine Projektdatei gesprochen werden soll.
- Automatische Aufgabenlisten
Unterschätzen Sie auch nicht, wie wichtig es ist, spitze Chefs auf Knopfdruck bei Laune zu halten.
Kurz gesagt, die "Kommentare zur automatischen Dokumentation" sind für meine Codierungsgewohnheiten von entscheidender Bedeutung. Ich bin mir sicher, dass es viele gibt, die das für lahm halten, aber ich bin mir auch genauso sicher, dass es ein paar Leute gibt, die genau wissen, was ich sage. Ich weiß nicht, wie ich überlebt habe, bevor ich phpXRef (und meine Lieblings-IDE) entdeckt habe.