图1
图2
感觉上我们认为图2是我们想要的注释对齐的效果。但感觉是不能拿来代码实现的。
所以我们需要定义什么叫注释对齐。如下图
假设代码部分的长度为CL,代码到//之间的长度为Width。注释对齐实际上就是计算Width-CL,中间填充这么多个空格。
那么尝试定义注释对齐。
1.内存对齐方式
参考计算机内存对齐方式。Width长度为一个基准(程序中的fact)的整数倍。
类似于坐电梯。代码先上电梯,电梯容量为fact,等代码快上完,注释再上。代码上的时候发现没上满,就拿空格占位,空着也不让注释上。
2.指定Width(程序中的min)方式
相当于限额。代码要先占前W个位置,人不够用空格占,都占完了,注释才能上来。
这样就会有个问题,代码如果超过W,位置不够用了怎么处理。
处理方式有,
- 2.1代码和注释都将就,都满了,就顺序上了。
- 2.2开始的时候就看好了,超过W就按内存对齐方式处理
- 2.3满了之后的部分重新按内存对齐方式处理,满之前按限额处理
定义好了,实现就容易了。
因为js不熟,所以代码基本是类C的风格,不太简洁。