常见变量命名

简介: 常见变量命名

前言


23.webp.jpg


相信很多 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. 的区别:


  • Corp. 是 Corporation 的缩写,主要是用于大公司集团的后缀。
  • Inc. 是 Incorporation 的缩写,即股份有限公司,意思是“团体、法人组织、公司”。
  • Co. 是 Company 的缩写,无论规模大小,一般指有限责任公司,用得较普遍。
  • Co.,Ltd. 是 Limited Company 的缩写,即有限责任公司。Ltd. 适用于规模较小的企业。英国、加拿大常用的表述方式。


2. memoizationmemorization 的区别:


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

  • memoization:是计算机科学中的一个概念,是使程序运行更快的一种方法。比如。React 中的 memo 就是它的简写。
  • memorization:是装进你脑袋里面的。

与之对应的动词就是 memoizememorize

详见:什么是 Memoization ?


3. Node.js REPL 简述


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


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

  • 读取 - 读取用户输入,解析输入的 Javascript 数据结构并存储在内存中。
  • 执行 - 执行输入的数据结构
  • 打印 - 输出结果
  • 循环 - 循环操作以上步骤直到用户两次按下 Ctrl + C⌘ + C 按钮退出。


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


4. node-gyp

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


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


目录
相关文章
|
9月前
|
存储 程序员 C语言
C语言变量命名规则
C语言变量命名规则
440 0
|
1月前
|
Python
变量名能用中文吗_汉语拼音变量名_蛇形命名法_驼峰命名法
本文探讨了变量命名规范,包括汉语拼音、中文和英文变量名的使用。主要内容如下: 1. **回顾上次内容**:介绍了命名法(如大驼峰、小驼峰、蛇形命名法)。 2. **Python命名规范**:常量用全大写加下划线(如`MATH_PI`),类名和类型名用大驼峰(如`MyClass`),异常名也用大驼峰(如`NameError`)。 3. **拼音变量名**:虽然可以使用拼音缩写或全拼,但易读性较差,建议避免。 4. **中文变量名**:Python 3 支持中文作为变量名,但不推荐广泛使用,因其不利于国际合作。
63 5
|
5月前
|
JavaScript 前端开发
在一般编写代码时可以不写分号 ; 但是遇到中括号 小括号 模板字符串的时候必须在前面加一个分号,否则会报错
JavaScript中通常可以省略分号,但在某些语法结构前必须加分号,如中括号、小括号或模板字符串前,以避免语法错误。
51 1
|
7月前
|
Java 程序员
驼峰命名法在编程中的应用
驼峰命名法在编程中的应用
|
9月前
|
C语言
C语言常量与变量、字符串与转义字符
C语言常量与变量、字符串与转义字符
69 0
|
9月前
|
存储 算法 程序员
【新手解答7】深入探索 C 语言:代码缩进 + 变量作用域、静态变量 + 变量名和函数名重名
【新手解答7】深入探索 C 语言:代码缩进 + 变量作用域、静态变量 + 变量名和函数名重名
90 0
|
缓存 PHP
给变量命名的实用技巧
不少小伙伴在起变量名的时遇到过困难,在此,分享一些我的经验和建议: 1.多读代码,从别人的代码中获得启发; 2.分享我自己常用的几个命名逻辑,抛砖引玉; 3. Github上也有一些和变量有关的项目,分享了2个,有兴趣的朋友可以了解以下。
767 1
给变量命名的实用技巧
|
消息中间件 前端开发 Linux
如何变量命名
如何变量命名
116 0
|
存储 Java 编译器
初识C语言第一话之数据类型、常量变量、字符串、转义字符与注释
初识C语言第一话之数据类型、常量变量、字符串、转义字符与注释
168 0
初识C语言第一话之数据类型、常量变量、字符串、转义字符与注释