Was sind einige eingebaute Pakete mit nettem Quellcode? [geschlossen]


12

Ich versuche, mich mit Emacs Lisp, seiner Syntax, Datenstrukturen usw. vertraut zu machen. Ich habe mich also gefragt, welche integrierten Pakete mir helfen könnten, besser zu verstehen, wie ich die Sprache verwende und ihre Redewendungen lerne.


1
Beachten Sie, dass die integrierten Pakete voll von Legacy-Code sind und sich daher weniger zum Erlernen von Redewendungen eignen. Haben Sie überlegt, stattdessen externe Pakete und Bibliotheken zu verwenden?
Wasamasa

1
Haben Sie darüber nachgedacht, das Emacs-Tutorial (als infoDatei verfügbar) zu verwenden? Einige integrierte Funktionen werden erklärt und detailliert beschrieben.
24.09.14

@wasamasa Ich sehe, ich werde mir neuere Pakete ansehen.
Caisah

@kiddouk Ja, ich habe es getan, aber ich kann den Schreib- / Erklärungsstil nicht bewältigen.
Caisah

Antworten:


12

Ich kann Ruby Mode in ruby-mode.elund Python Mode in python.elfür einige Aspekte ihrer Implementierung empfehlen . Ersteres ist eine besonders gute Quelle für erweiterten Einrückungs- und Navigationscode, der auf der neuen SMIE-Engine basiert. Weder verwendet jedoch Datenstrukturen auf besonders clevere oder fortgeschrittene Weise.

Ich würde auch einige Teile von Org Mode 8 für sein Design empfehlen. Insbesondere das Exporter-Framework von Org 8 zeigt, wie ein generisches, erweiterbares, objektähnliches Framework in Emacs Lisp erstellt wird. Ich würde es jedoch aus Gründen, die bereits in den Kommentaren erwähnt wurden, gegen die meisten anderen Teile von Org empfehlen: Es ist alt und voller Legacy und schädlicher Praktiken (z. B. find-file-noselectum Dateien nicht interaktiv zu lesen).

Gnus soll auch einen guten Code haben, aber ich würde auch hier vorsichtig sein, um festzustellen, wie gut der jeweilige Code gepflegt ist, den Sie sich ansehen.

Da Emacs selbst sehr alt ist und vielerorts nur oberflächlich gewartet wird, ist die durchschnittliche Qualität seines Codes für moderne Verhältnisse eher gering. Da sind viele alte Sachen drin. Zum Beispiel finden Sie auch in Kernbereichen wie dem Byte-Compiler "TODO" und "DUNNO", die Jahre, wenn nicht Jahrzehnte zurückliegen. Da Emacs aufgrund der von der FSF festgelegten restriktiven Richtlinien nur sehr langsam Code und Entwickler von außerhalb akzeptiert, steigt die Gesamtqualität nur langsam.

Alles in allem ist es wahrscheinlicher, dass Sie guten Code in beliebten Paketen von Drittanbietern finden, die von hochkarätigen Community-Mitgliedern gepflegt werden, z. B. Magit, Projectile usw.


2
Oh ich verstehe, sie haben es für den neuesten Kofferraum geändert.
Shosti

3
Diejenigen, die vorhaben, in den Gnus-Code einzutauchen: Bitte seien Sie vorsichtig. Das sind tiefe Gewässer und wir möchten niemanden verlieren.
Malabarba

2
Wenn Sie sich Magit anschauen, empfehle ich Ihnen, sich den nächsten Zweig anzuschauen.
Tarsius

2
Haben Sie irgendetwas, um Ihren letzten Anspruch zu sichern? Ich würde das Gegenteil stark erwarten ...
rasmus

1
Was ich im Sinn hatte, war: "[...] Emacs wird an vielen Stellen [...] oberflächlich gepflegt, die durchschnittliche Qualität seines Codes ist eigentlich eher niedrig", im Vergleich dazu ist die Wahrscheinlichkeit höher, dass Sie guten Code in der populären dritten Kategorie finden Party-Pakete ". Aber "Emacs ist sehr langsam, Code und Entwickler von" außen "zu nehmen" scheint auch Unsinn IMO (lesen Sie das debbugs?) ...
rasmus

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.