Skip to content

命名规范

变量

  • 使用名词来命名变量,不要使用动词,适当使用缩写
  • 变量名要一眼看得出用途,避免使用无意义的变量名。
  • 拼写错误死全家,不要用拼音来命名变量。
  • 数组名用复数。
ts
// 正确
const issues: Issue[] = [];
const isLoggedIn: boolean = false;

// 错误
const issuee = [];
const logined = false;

函数

  • 函数名使用动词动宾结构
ts
// 正确
function addIssue(issue: Issue): void {
  // ...
}
function submit(): boolean {
  // ...
}

// 错误
function add(issue: Issue): void {
  // ...
}
function doSubmit(): boolean {
  // ...
}

变量名命名习惯

二维数组

自定义的二维数组可以按照以下一种习惯来,但其他API中的二维数组用法可能不一样,因此在实际代码中还是要标注好注释。是 [y][x] 型,还是 [x][y]

这两种型,有优缺点,yx型在直观表示上符合逻辑,但写起来要反一下。xy型恰恰相反。

下面是 [y][x] 型的介绍。

arr = [
	[1, 2, 3],
	[4, 5, 6],
]

假设有上面二维数组

那么循环的时候就这样写

js
for (let y = 0; y < arr.length; y++) {
  for (let x = 0; x < arr[0].length; x++) {
    println(arr[y][x]);
  }
}

实际上完全可以用增强 for 循环代替等等,上面只是伪代码,意在表示如果必须要用数字循环的时候,第一个中括号的循环变量用 y 表示,第二个用 x 表示。因为 y 是竖着的坐标,x 是横着的坐标

1┼2┼3────────► x

4 5 6


y

上面 1 2 3 4 5 6 的位置用坐标表示就可以看成这样。这个横 x 竖 y 的坐标系恰好也能和 javascript 的 canvas 渲染坐标、PyQt5 的 paint 保持理念上的协调。

位置与坐标

优先用 location,不用 position,但尽量不要用简写 loc,location 已经很简单了,再简写就有点像残破一样的感觉了。

location 是多年来的习惯,能一眼就想到坐标相关。po 两个单词一开始还要用小拇指和无名指,还是 lo 可能更顺手一些(强行解释)。

实际上坐标位置可能还分世界坐标位置和渲染坐标位置。

world_location 和 view_location。

在 CannonWar2 由于有摄像头的存在,摄像头能移动和缩放画面,所以就需要区分开来了。world_location 是指世界逻辑坐标中的位置,view_location 指的是在屏幕上渲染绘制的,相对绘制区域左上角的位置坐标。

数值与比率

比率:rate 通常表示 0~1,肯定不是 int 类型。ratio 表示 0~100,可能是个百分数,可能是 int 类型。

目标值与当前值:current、target,这两个单词很不错,可以和别的单词组合命名成变量名。

用简写的情况

  1. 某个单词非常长并且容易拼错。
  2. 变量所在的生命周期非常短。
  3. 该简写已经成为行业共识,即使简写大家也都知道,比如 docs,表示文档