docs(spec): 新规范补充 for 循环、rawptr 收敛、const/volatile、前向引用与 struct/renum 条目
补充条目:range 循环免预声明、优先 T* 而非 rawptr[T]、const/volatile 书写、无需引号前向引用(真前向引用用指针)、无成员函数的纯数据体用 struct、枚举用 renum;并明确三引号 __doc__ 同样按英文注释清理。
This commit is contained in:
1 parent
7a72137032
commit
573d61a7a6
1 file changed
+32
-2
@@ -1,6 +1,6 @@
|
|||||||
对于新的代码,我们期望采用:
|
对于新的代码,我们期望采用:
|
||||||
|
|
||||||
单行写入尽可能多的代码,比如 f(a, b, c, d, e, \nh)(代码长,根据 PEP8 换行),期望写作f(a, b, c, d, e, h)(不换行)
|
单行写入尽可能多的代码,比如 f(a, b, c, d, e, \nh)(代码长,正常应根据 PEP8 换行),但是期望写作f(a, b, c, d, e, h)(不换行)
|
||||||
原本的 T | t.CPtr 尽可能写作 T*
|
原本的 T | t.CPtr 尽可能写作 T*
|
||||||
c.Addr 和 c.Deref 可以写作为 &a 和 *a
|
c.Addr 和 c.Deref 可以写作为 &a 和 *a
|
||||||
c.DerefAs 可以写作为 *a = b
|
c.DerefAs 可以写作为 *a = b
|
||||||
@@ -11,7 +11,7 @@ c.Load 写作为 *a = *b
|
|||||||
t.CInt、t.CUInt64T、t.CChar 可以写作为 int、uint64、char,诸如此类
|
t.CInt、t.CUInt64T、t.CChar 可以写作为 int、uint64、char,诸如此类
|
||||||
class A(t.CEnum):...可以写为 enum A:\n\ta, b, c诸如此类
|
class A(t.CEnum):...可以写为 enum A:\n\ta, b, c诸如此类
|
||||||
|
|
||||||
注释只讲解作用,不掺杂历史原因,除了头注释,避免超长注释的存在,尽可能使用英文注释
|
注释只讲解作用,不掺杂历史原因,除了头注释,避免超长注释的存在,尽可能使用英文注释(包括三引号注释__doc__,同样需要清理)
|
||||||
对于&a,明确其返回T*,因此不再需要t.CPtr对其强转
|
对于&a,明确其返回T*,因此不再需要t.CPtr对其强转
|
||||||
if x:\n\treturn y期望写作为 if x: return y 来减少不必要的行数
|
if x:\n\treturn y期望写作为 if x: return y 来减少不必要的行数
|
||||||
原本的
|
原本的
|
||||||
@@ -23,3 +23,33 @@ X: t.CDefine = y
|
|||||||
b \
|
b \
|
||||||
c:
|
c:
|
||||||
期望尽可能一行写完 if
|
期望尽可能一行写完 if
|
||||||
|
|
||||||
|
for i in range(...):
|
||||||
|
...
|
||||||
|
不需要提前声明i
|
||||||
|
|
||||||
|
|
||||||
|
i: int = 0
|
||||||
|
while i < self._arg_count:
|
||||||
|
...
|
||||||
|
i += 1
|
||||||
|
诸如此类
|
||||||
|
期望写作
|
||||||
|
for i in range(self._arg_count):
|
||||||
|
...
|
||||||
|
|
||||||
|
|
||||||
|
同样避免rawptr[T](除非存储 rawptr 纯裸指针) 的使用,优先使用 T*
|
||||||
|
|
||||||
|
t.CConst | T
|
||||||
|
t.CVolatile | T 可以写作为 const T、volatile T
|
||||||
|
|
||||||
|
Viper中不需要引号前向引用,直接写即可
|
||||||
|
真正需要前向引用的地方需要用指针
|
||||||
|
|
||||||
|
纯数据结构体的“class”关键字改为“struct”(无任何成员函数)
|
||||||
|
class X(t.REnum):
|
||||||
|
...
|
||||||
|
改为
|
||||||
|
renum X:
|
||||||
|
...
|
||||||
Reference in new issue
Block a user