優れたソースコードを備えた組み込みパッケージとは何ですか?[閉まっている]


12

Emacs Lisp、その構文、データ構造などに精通しようとしているので、言語の使用方法とイディオムを学ぶ方法をよりよく理解できるソースを持つ組み込みパッケージは何ですか?


1
組み込みパッケージはレガシーコードでいっぱいであるため、イディオムの学習にはあまり適していません。代わりに外部のパッケージとライブラリの使用を検討しましたか?
wasamasa 14

1
emacsチュートリアル(infoファイルとして利用可能ですか?いくつかの組み込み関数の説明と詳細があります。
kiddouk 14

@wasamasaなるほど、最近のパッケージを見てみます。
カイサ

@kiddoukはい、できましたが、ライティング/説明スタイルに対応できません。
カイサ14

回答:


12

実装のいくつかの側面については、Rubyモードでruby-mode.el、PythonモードでPythonモードをお勧めpython.elします。前者は、新しいSMIEエンジンに基づいた高度なインデントとナビゲーションコードの特に優れたソースです。ただし、どちらも特に巧妙な方法や高度な方法でデータ構造を使用することはありません。

また、設計上、Org Mode 8の一部をお勧めします。特に、Org 8のエクスポーターフレームワークは、プレーンなEmacs Lispで汎用的で拡張可能なオブジェクトのようなフレームワークを作成する方法を示しています。ただし、Orgの他のほとんどの部分に対しては、すでにコメントで述べられている理由からお勧めします。古いものであり、レガシーおよび有害な慣行でいっぱいです(たとえばfind-file-noselect、非対話形式でファイルを読み取る)。

Gnusは優れたコードを持っているとも言われていますが、ここでも、特定のコードが見ているものがどれだけよく維持されているかを慎重に判断します。

Emacs自体は非常に古く、多くの場所で表面的に維持されているだけなので、そのコードの平均品質は実際には現代の標準ではかなり低いです。そこには多くのレガシーなものがあります。たとえば、バイトコンパイラなどのコアパーツでも、10年ではないにしても、何年も前の「TODO」と「DUNNO」が見つかります。また、FSMによって確立された制限的なポリシーのために、Emacsはコードと開発者を「外部」コミュニティから取り込むのが非常に遅いため、全体的な品質の向上はゆっくりです。

全体として、有名なコミュニティメンバー(Magit、Projectileなど)によって管理されている人気のあるサードパーティパッケージで優れたコードを見つける可能性が高くなります。


2
ああ、彼らは最新のトランクに変更しました。
shosti 14

3
gnusのコードに飛び込むことを計画している人:気をつけてください。それらは深海であり、私たちは誰も失いたくありません。
マラバルバ14

2
Magitをご覧になる場合は、次のブランチをご覧になることをお勧めします。
メガネザル

2
あなたはありますか何かをバックアップする最後の主張を?私は強く...反対を期待
ラスマス

1
私が念頭に置いていたのは、「[...] Emacsは多くの場所で表面的に維持されており、そのコードの平均品質は実際にはかなり低い」と「人気のある3番目で良いコードを見つける可能性が高い」パーティーパッケージ」。しかし、また、IMOナンセンスのように思える「『外』のEmacsからコードや開発者を取ることが非常に遅い」(あなたが読んでくださいdebbugs...?)
ラスマス

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.