Які є вбудовані пакети з приємним вихідним кодом? [зачинено]


12

Я намагаюся ознайомитись з Emacs Lisp, його синтаксисом, структурою даних тощо, тому мені було цікаво, що це деякі вбудовані пакети, джерело яких могло б допомогти мені краще зрозуміти, як використовувати мову та дізнатися її ідіоми?


1
Майте на увазі, що вбудовані пакети наповнені застарілим кодом і тому менш підходять для вивчення ідіом. Чи розглядали ви замість цього зовнішні пакети та бібліотеки?
wasamasa

1
Чи розглядали ви підручник emacs (доступний як infoфайл? Деякі вбудовані функції пояснюються та деталізуються.
kiddouk

@wasamasa Я бачу, я перегляну новіші пакунки.
caisah

@kiddouk Так, але я не впорався зі стилем написання / пояснення.
caisah

Відповіді:


12

Я можу рекомендувати режим Ruby в ruby-mode.elта Python Mode python.elдля деяких аспектів їх реалізації. Перший є особливо чудовим джерелом для вдосконаленого відступу та навігаційного коду на основі нового двигуна SMIE. Однак жодна структура даних не використовує особливо розумним чи розвинутим способом.

Я б також рекомендував деякі частини Org Mode 8 для його дизайну. Зокрема, експортерні рамки Org 8 показують, як створити загальну, розширювану, об'єктоподібну рамку в простому Emacs Lisp. Однак я б рекомендував проти більшості інших частин Органу з причин, які вже були зазначені в коментарях: Він старий і сповнений спадщини та шкідливих практик (наприклад, find-file-noselectдля читання файлів неінтерактивно).

Кажуть, що у Gnus хороший код, але я знову обережно визначу, наскільки добре підтримується той чи інший фрагмент коду, який ви дивитесь.

Оскільки Emacs сам по собі дуже старий і підтримується лише в багатьох місцях, середня якість його коду насправді досить низька за сучасними стандартами. Там багато спадкових речей. Наприклад, навіть у основних частинах, таких як байт-компілятор, ви знайдете "TODO" та "DUNNO", що датуються років, якщо не десятиліттями. Крім того, оскільки Emacs дуже повільно приймає код та розробників з "зовнішньої" спільноти через обмежувальну політику, встановлену FSF, загальна якість збільшується лише повільно.

Загалом, ви, швидше за все, знайдете хороший код у популярних сторонніх пакетах, які підтримують гучні члени спільноти, наприклад, Magit, Projectile тощо.


2
О, я бачу, вони змінили його на останній багажник.
shosti

3
Ті, хто планує зануритися у код gnus: Будь ласка, подбайте. Це глибокі води, і ми б не хотіли нікого втрачати.
Малабарба,

2
Якщо ви подивитесь на Magit, то рекомендую подивитися на її наступну гілку.
Тарсій

2
Чи є у вас щось для резервного копіювання останньої претензії? Я б дуже сподівався на протилежне ...
rasmus

1
Що я мав на увазі: "[...] Emacs є [...] поверховим дотриманням у багатьох місцях, середня якість його коду насправді досить низька" проти ", ви, швидше за все, знайдете хороший код у популярному 3-му. пакети для партій ". Але "Emacs дуже повільно приймає код, а розробники" ззовні "" також здаються нісенітницею IMO (ви читаєте debbugs?) ...
rasmus

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.