常见变量命名

2021-06-24  本文已影响0人  越前君

持续、不定时更新...


相信很多 Coder 会遇到一个很头痛的问题,就是变量命名。

反正我就是那种可以在变量命名上纠结半天的人,没错,我是强迫症患者。对于一个“合格”的变量,既能明确表示它的准确意图(前提),也希望可以简短一点。但个人认为还是前者更重要一些。

举个例子,i18n 就是英文单词 internationalization 的“简写”(中间 18 个字母,用 18 表示),表示国际化的意思。起码在开发编程中约定俗成的,至于其他行业是不是这样简写或缩写的,我就不深究了。类似的还有 K8s,是 Kubernets 的简写。

有意义的命名方式,应成为良好编程习惯的一部分。尽管它不是语言规范的要求,但我认为是非常有必要的。

因此,我会有意识地去记录下来。比如某天,看了某库的源码,它觉得它里面某个变量的命名是 OK 的,可以应用在我平常的项目中,那么我就把它记录下来...

尽管它们算是没什么技术含量的东西,但我也想把它做好,仅此而已...

也有很多人推荐的网站:CODELF,它是从 GitHub、GitLab、Bitbucket 的项目中爬取的。支持中文检索,以前看了下请求接口,好像是利用 Bing Microsoft Translator 接口先将中文转换为英文,然后再进行检索的。我现在很少在上面找变量了...

一、常见简写

例如,表示用户信息的变量,相信绝大多数开发者会使用 userInfo,而不是 userInformation(驼峰式非本文讨论范围,忽略)。

全称 简写 备注
template tmpl
contribution contrib
versus vs
arguments args
international Intl
package pkg
dependencies deps
information info
property prop
properties props
regular expression regex、regexp、re
second sec
memoization memo 注意,它与 memorization 不同,区别请看下文。
High-Order Component HOC
standard std
corporation corp
First In First Out FIFO 先进先出
Last In First Out LIFO 后进先出
temporary temp、tmp
instance inst
asynchronous async 异步
synchronous sync 同步
double click dblclick
specification spec 规格
conference conf 会议
Read-Eval-Print-Loop REPL “读取-求值-输出”循环,一个交互式解释器。
Generate Your Projects GYP、gyp 一个用来生成项目文件的工具。
No Operation noop 空操作,在 JavaScript 中一般是无操作的空函数,可作为参数默认值,例如回调函数,以避免代码报错。
Request For Comments RFC 征求修正意见书

二、常见翻译

中文 英文 备注
键值对 key-value map
数据结构 data structures
生命周期 life cycle

三、常见场景的命名

timerId // setTimeout、setInterval 产生的 Id

四、扩展

1. 关于 Corp.Inc.Co.,Ltd. 的区别:
2. memoizationmemorization 的区别:

没错,它们只差在一个字母 r 上,而且都是与“记忆” 相关的,但是有区别的。

与之对应的动词就是 memoizememorize

详见:什么是 Memoization ?

3. Node.js REPL 简述

Node.js REPL(Read Eval Print Loop:交互式解释器) 表示一个电脑的环境,类似 Window 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并接收系统的响应。

Node 自带了交互式解释器,可以执行以下任务:

Node 的交互式解释器可以很好的调试 Javascript 代码。

4. node-gyp

gyp(Generate Your Projects,简称 GYP,官网)是一个用来生成项目文件的工具,一开始是设计给 Chromium 项目使用的,后来大家发现比较好用就用到了其他地方。生成项目文件后就可以调用 GCC、VSBuild、Xcode 等编译平台来编译。至于为什么要有 node-gyp,是由于 Node 程序中需要调用一些其他语言编写的工具甚至是 DLL,需要先编译一下,否则就会有跨平台的问题。

参考:node-gyp 的作用是什么?

上一篇 下一篇

猜你喜欢

热点阅读