如何优雅的命名变量?

在命名变量或是函数时,有时全拼其含义英文会显得变量名过长,或函数名过长,请问大家是如何解决这种问题的呢?

过长是指多长?正常除了package的前缀,6个单词以来一般都可以接受吧。函数名不是函数文档,能够包含主要功能的关键字就可以。

感觉在写elisp的时候,函数名字再长也没有啥心理压力,只要能够在保证意思的前提下尽量简洁就好。。。

首先程序里面不要传任意的数据结构,那样就很乱。定义一些标准的,比如 xxx context,xxx state, xxx entity 之类的,一个模块里面哪些东西可以被做为参数传应该有所定义,这些定义的名字都不要太长,比如 1-3 个词就行了。之后取一组动词用来描述你能做的事,函数的名字就是 动词名词,比如 buildXXXContext(states, options),有对象概念的话,一些情况可以把名词省略,比如 Notifier.send(message).

视概念的作用范围决定要不要缩写:

对于函数普通的函数不要缩写名字,lambda 或函数参数的命字就可以缩写了,比如 fetchYYY(query, cbSucc) callback when succeed.

对于变量,全局的概念不缩写,模块内的缩写,迭代或循环内的缩写到一个字母。

4 个赞