对于新的代码，我们期望采用：

单行写入尽可能多的代码，比如 f(a, b, c, d, e, \nh)（代码长，正常应根据 PEP8 换行），但是期望写作f(a, b, c, d, e, h)（不换行）
原本的 T | t.CPtr 尽可能写作 T*
c.Addr 和 c.Deref 可以写作为 &a 和 *a
c.DerefAs 可以写作为 *a = b
c.Load 写作为 *a = *b
允许使用 const、volatile 描述符
对于 c.Asm，期望新版写作为 __asm__
尽可能少得使用 将 ptr 强转为 uint64 然后使用的方法
t.CInt、t.CUInt64T、t.CChar 可以写作为 int、uint64、char，诸如此类
class A(t.CEnum):...可以写为 enum A:\n\ta, b, c诸如此类

注释只讲解作用，不掺杂历史原因，除了头注释，避免超长注释的存在，尽可能使用英文注释（包括三引号注释__doc__，同样需要清理）
对于&a，明确其返回T*，因此不再需要t.CPtr对其强转
if x:\n\treturn y期望写作为 if x: return y 来减少不必要的行数
原本的
X: t.CDefine = y
优先写作为 define X = y
以及define X: T = y

避免使用 if a \
    b \
    c:
期望尽可能一行写完 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:
    ...
