2013-10-16 7 views
5

Manchmal müssen Sie beim Schreiben eines Programms auf einen anderen Teil/eine Funktion in den Kommentaren verweisen. Zum Beispiel könnte ich im folgenden Code zwei Anker "workaround1" und "workaround2" (in einer anderen Datei) in den Kommentaren setzen und eine Notiz über die ABC-Funktion mit Verweisen auf die relevanten Kommentare machen.Querverweise im Quelltext Kommentare

// this part does <<workaround1>> 
a = 1; 
a++; 
... 

// [[workaround1]] and [[file:c.java::workaround2][2]] can be removed once ABC is fixed 
c = ABC(); 

Ich habe zwei Fragen:

  1. Gibt es beste Praxis für solche Referenzen? Wie professionell Programmierer damit umgehen?
  2. Gibt es ein Paket für Emacs, die Navigation durch einen Quellcode Kommentare mit solchen Notizen erleichtern können? Ich habe über eine Erweiterung im org-Modus nachgedacht, mit der ich über (vorzugsweise jeden) Sprachmodus arbeiten kann.

Ich bin mir bewusst über ähnliche Frage auf Redmine: Can I create a cross-project source reference in redmine?

Antwort

3

Es gibt keinen Zweifel, verschiedene Ansätze zur Verfügung. Jemand wird wahrscheinlich beschreiben, wie man dafür org-mode verwendet, was vielleicht der gebräuchlichste Ansatz ist. Persönlich verwende ich linkd.el - einfach. Sie können es erhalten here.

Ich benutze es in Emacs-Lisp-Dateien, aber Sie können es in jeder Textdatei verwenden.

A-Header oder dem Namen Ziel wie folgt aussieht als Klartext:

 
     ;; (@* "Common helper functions") 

Das für Lisp ist, wo ; Kommentar beginnt. In Ihrem Fall würden Sie // verwenden, glaube ich.

es ein Link aus der gleichen Datei sieht wie folgt aus:

 
     ;; (@> "Common helper functions") 

Ein Link von einer anderen Datei wie folgt aussieht:

 
     ;; (@file :file-name "foo.el" :to "Common helper functions") 

Aber sie markieren gemacht verwenden, und ohne die überflüssigen Zeichen.

Ein Ziel sieht wie folgt aus (aber hervorgehoben):

 
     * Common helper functions 

Eine gleich Datei Link wie folgt aussieht (aber hervorgehoben als Emacs Link, und mit Mouseover-Hervorhebung):

 
     > Common helper functions 

Ein anderer Datei-Link sieht so aus (aber als Link hervorgehoben, mit Mouse-Over):

 
     . foo.el : Common helper functions 
+0

unterstützt es re Auswirkungen auf andere Dateien? Es ist nicht ganz klar aus der Paketbeschreibung. – zeliboba

+0

Ja, und ich gab ein Beispiel dafür: '(@Datei: Dateiname" foo.el ": zu" Gemeinsame Hilfsfunktionen ")'. – Drew

+0

Siehe auch [LinkdMode] (http://www.emacswiki.org/emacs/LinkdMode) und für einige andere Optionen [CategoryNavigation] (http://www.emacswiki.org/emacs/CategoryNavigation). Die Hauptalternative scheint WikiNav zu sein, die mit [button-lock] (https://github.com/rolandwalker/button-lock) verbreitet wird. – phils

Verwandte Themen