EMACS-DOCUMENT

=============>集思广益

如今(2016)编写emacs-lisp的最佳实践是什么

  • Rejeep编写了许多现代化的工具,因此你应该多看看他的博客,尤其是这篇文章
  • 你可以仿照这个package 复用它的 Makefile, Cask, .travis.yml 文件以及它的package heade
  • 如果你的package没有太复杂的UI,可以用ecukes 来写集成测试.
  • 借助Travis来帮你在不同版本的emacs(使用evm)下编译(检查是否有warning)并测试你的package.
  • ert 对lisp函数作单元测试.
  • 使用 Cask 管理依赖(这样一来,你使用Travis就更方便了,并且你开发时也不用全局安装依赖包了.
  • Names 这个package挺不错的,但是我觉得 nameless 更不错.
  • 最好不要用melpa unstable上的pacakge,尽量用melpa stable上的package代替.
  • dash, s, 等package都很不错,而且借助Cask与package.el,我们可以很方便的使用这些package提供的函数. 但是也推荐你优先使用seq.el, subr-x.el 中新增的类似功能的函数.
  • 尽量使用静态作用域,方法是将 ;;; -*- lexical-binding: t; -*- 放到文件的第一行位置.
  • 将你的package发布到melpa或marmalade上,与别人分享.