Quali sono alcuni pacchetti integrati con un bel codice sorgente? [chiuso]


12

Sto cercando di familiarizzare con Emacs Lisp, la sua sintassi, le strutture di dati ecc., Quindi mi chiedevo quali sono alcuni pacchetti integrati la cui fonte potrebbe aiutarmi a capire meglio come usare la lingua e apprenderne i modi di dire?


1
Essere consapevoli del fatto che i pacchetti integrati sono pieni di codice legacy e quindi meno adatti per apprendere modi di dire. Hai preso in considerazione l'utilizzo di pacchetti e librerie esterne invece?
Wasamasa,

1
Hai info
mai

@wasamasa vedo, guarderò i pacchetti più recenti.
caisah,

@kiddouk Sì, ma non riesco a far fronte allo stile di scrittura / spiegazione.
caisah,

Risposte:


12

Posso consigliare Ruby Mode in ruby-mode.ele Python Mode in python.el, per alcuni aspetti della loro implementazione. Il primo è una fonte particolarmente eccezionale per il rientro avanzato e il codice di navigazione basato sul nuovo motore SMIE. Tuttavia, né utilizza le strutture dati in modo particolarmente intelligente o avanzato.

Consiglierei anche alcune parti di Org Mode 8, per il suo design. In particolare il framework degli esportatori di Org 8 mostra come creare un framework generico, estensibile, simile ad un oggetto in semplice Emacs Lisp. Tuttavia, raccomanderei contro la maggior parte delle altre parti di Org, per motivi già indicati nei commenti: è vecchio e pieno di pratiche legacy e dannose (ad esempio find-file-noselectper leggere i file in modo non interattivo).

Si dice anche che Gnus abbia un buon codice, ma di nuovo starei attento a determinare quanto bene sia il particolare pezzo di codice che stai guardando.

Poiché Emacs stesso è molto vecchio e solo superficialmente mantenuto in molti luoghi, la qualità media del suo codice è in realtà piuttosto bassa per gli standard moderni. Ci sono molte cose legacy lì dentro. Ad esempio, anche in parti fondamentali come il compilatore di byte troverete "TODO" e "DUNNO" risalenti a anni, se non decenni. Inoltre, poiché Emacs è molto lento nel prendere codice e sviluppatori dalla comunità "esterna" a causa delle politiche restrittive stabilite dall'FSF, la qualità complessiva aumenta solo lentamente.

Tutto sommato, è più probabile trovare un buon codice nei popolari pacchetti di terze parti gestiti da membri della comunità di alto profilo, ad esempio Magit, Projectile, ecc.


2
Oh capisco, l'hanno cambiato per l'ultimo baule.
shosti,

3
Coloro che intendono immergersi nel codice di gnus: per favore, abbi cura di te. Quelle sono acque profonde e non vorremmo perdere nessuno.
Malabarba,

2
Se guardi Magit, ti consiglio di guardare al suo prossimo ramo.
tarsius,

2
Hai qualcosa per il backup del tuo ultimo reclamo? Mi aspetterei fortemente il contrario ...
rasmus

1
Quello che avevo in mente era: "[...] Emacs è mantenuto superficialmente [...] in molti punti, la qualità media del suo codice è in realtà piuttosto bassa" contro ", è più probabile che tu trovi un buon codice nel popolare terzo pacchetti festa ". Ma "Emacs è molto lento nel prendere il codice e gli sviluppatori dall'esterno" sembrano anche assurdità IMO (leggi il debbugs?) ...
rasmus

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.