yve*_*mes 8 emacs refactoring elisp clojure
做4个实践练习,一个目标是提供正确的答案,并且可选的目标是尽可能提供最短的解决方案(空间不计入),也就是代码高尔夫.然后,您可以与其他解决方案进行比较.
在做运动时,我首先找到一个正确的答案.然后我对我的源代码应用手动 重构,其中包括将变量名称重命名为单个字符.例如,在应用此基本步骤后,我的代码可能如下所示.
(fn f[s]
(if (empty? s)
{}
(let [[k & r] s
[v n] (split-with number? r)]
(assoc (f n) k v))))
Run Code Online (Sandbox Code Playgroud)
人类相当难以理解,但在4Clojure代码高尔夫比赛中得分更高,因为它可以节省很多角色.
为了好奇,你会如何在emacs中自动执行此操作?clojure.core中有重构函数可以帮助吗?我没找到任何.