emacs - 如何重构 Clojure 源代码?

标签 emacs clojure refactoring elisp

4clojure练习中,一个目标是提供正确答案,可选目标是提供尽可能最短的解决方案(不计入空格),即代码高尔夫。然后,您可以与其他解决方案进行比较。

做运动时我第一 找到正确的答案。然后我申请了 手册 重构 到我的源代码,其中包括将变量名称重命名为单个字符。例如,应用此基本步骤后,我的代码可能如下所示。

(fn f[s]
   (if (empty? s)
     {}
     (let [[k & r] s
        [v n] (split-with number? r)]
        (assoc (f n) k v))))

对于人类来说相当不可读,但在 4Clojure 代码高尔夫比赛中得分更高,因为它节省了很多字符。

出于好奇,您将如何在 emacs 中实现自动化? clojure.core 中是否有重构功能可以提供帮助?我没有找到。

最佳答案

学习图书馆。例如,您似乎可以使用 if-letseq .如果您不考虑使用静态分析工具“作弊”,请查看 Kibit

关于emacs - 如何重构 Clojure 源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12439650/

相关文章:

ruby-on-rails - 如何在 Rails 中编写增加天数的助手?

hibernate - hibernate -如何在不加载整个Collection的情况下持久存储Collection中的新项目

emacs - 在 Emacs evil-mode 下搜索文本

vector - 为什么键和值不能在向量上工作?

emacs - 在 Emacs 组织模式中,如何重新归档组织标题下突出显示的文本?

error-handling - 使用 clojure core.async 管道处理错误

debugging - Emacs Cider Debugger 本地导航

javascript - 将函数重构为对象方法

Emacs 和 Prolog

emacs - 导出到 LaTeX 时,使组织模式表格标题显示在表格下方