Jakie są wbudowane pakiety z ładnym kodem źródłowym? [Zamknięte]


12

Próbuję zapoznać się z Emacsem Lispem, jego składnią, strukturami danych itp., Więc zastanawiałem się, jakie są niektóre wbudowane pakiety, których źródło może pomóc mi lepiej zrozumieć, jak używać języka i nauczyć się jego idiomów?


1
Pamiętaj, że wbudowane pakiety są pełne starszego kodu i dlatego są mniej odpowiednie do nauki idiomów. Czy zamiast tego zastanawiałeś się nad użyciem zewnętrznych pakietów i bibliotek?
wasamasa

1
Czy zastanawiałeś się nad użyciem samouczka emacs (dostępnego jako infoplik? Niektóre wbudowane funkcje są wyjaśnione i szczegółowe.
kiddouk 24.09.14

@wasamasa Rozumiem, przyjrzę się nowszym pakietom.
caisah

@kiddouk Tak, tak, ale nie radzę sobie ze stylem pisania / wyjaśniania.
caisah

Odpowiedzi:


12

W niektórych aspektach ich implementacji mogę polecić tryb Ruby ruby-mode.eli Python Mode python.el. To pierwsze jest szczególnie doskonałym źródłem zaawansowanego wcięcia i kodu nawigacyjnego opartego na nowym silniku SMIE. Jednak żadne z nich nie wykorzystuje struktur danych w żaden szczególnie sprytny lub zaawansowany sposób.

Poleciłbym również niektóre części Org Mode 8 ze względu na jego konstrukcję. W szczególności struktura eksportera w Org 8 pokazuje, jak stworzyć ogólną, rozszerzalną, obiektową strukturę w zwykłym Emacs Lisp. Odradzałbym jednak większość innych części Organizacji, z powodów już podanych w komentarzach: Jest stary, pełen starych i szkodliwych praktyk (np. find-file-noselectDo odczytu plików w sposób nieinteraktywny).

Mówi się również, że Gnus ma dobry kod, ale ponownie będę ostrożny, aby określić, jak dobrze utrzymany jest dany fragment kodu, na który patrzysz.

Ponieważ sam Emacs jest bardzo stary i w wielu miejscach utrzymywany tylko powierzchownie, średnia jakość jego kodu jest w rzeczywistości raczej niska jak na współczesne standardy. Jest tam wiele starszych rzeczy. Na przykład, nawet w podstawowych częściach, takich jak kompilator bajtów, znajdziesz „TODO” i „DUNNO” datowane na lata, jeśli nie dekady. Ponadto, ponieważ Emacs bardzo wolno pobiera kod i programistów ze społeczności „zewnętrznej” z powodu restrykcyjnych zasad ustanowionych przez FSF, ogólna jakość rośnie tylko powoli.

Podsumowując, bardziej prawdopodobne jest, że znajdziesz dobry kod w popularnych pakietach stron trzecich utrzymywanych przez głośnych członków społeczności, np. Magit, Projectile itp.


2
Och, rozumiem, zmienili to na najnowszy bagażnik.
shosti

3
Ci, którzy planują zanurzyć się w kodzie gnus: Proszę, uważaj. To są głębokie wody i nie chcielibyśmy nikogo stracić.
Malabarba

2
Jeśli spojrzysz na Magit, polecam przyjrzeć się jego następnej gałęzi.
Tarsius

2
Czy masz coś na poparcie swojego ostatniego roszczenia? Spodziewałbym się
czegoś

1
Miałem na myśli: „[...] Emacs jest [...] powierzchownie utrzymywany w wielu miejscach, średnia jakość jego kodu jest w rzeczywistości raczej niska„ w porównaniu z ”bardziej prawdopodobne jest, że znajdziesz dobry kod w popularnym 3. miejscu pakiety imprezowe ”. Ale „Emacs bardzo wolno pobiera kod, a programiści z„ zewnątrz ”również wydają się nonsensownymi IMO (czytasz debbugs?) ...
rasmus

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.