编程规范
轻语言是一门编程语言、有自己特定的语法结构、为了养成良好的编程习惯、以及培养编程思维、使用轻语言编写程序时,遵循良好的编程规范可以提高代码的可读性、可维护性和一致性。
以下是轻语言编程中官方定义的常见的编程规范:
命名规范
好的命名规范、有助于让代码逻辑更清晰,代码分工更明确,代码中的变量、函数、模块、窗口命名时的规范:
变量
-
变量名称不能使用纯数字或数字开头、只能使用中文或字母开头
-
组件名称按照类型名称加下划线加功能命名、例如:
按钮_登录
也可不加下划线、直接使用类型加功能、例如:按钮登录
-
窗口成员变量按照注释即功能做简约命名、例如:
变量 用户名 为 文本型
;严禁随意命名 a、b、c 或 与业务功能逻辑无关的名称。 -
局部变量按照 局加下划线 命名、例如:
变量 局_结果 为 文本型
、也可直接使用符合上下文语义的名称、例如:变量 登录结果 为 文本型
;严禁使用 a b c 或与业务逻辑无关的名称。 -
全局变量按照全局加下划线命名、或使用符合上下文语义的名称,例如:
变量 全局_站点域名 为 文本型
函数
- 函数名称不能使用纯数字或数字开头、只能使用中文或字母开头
- 遵循注释即名称的规范、根据上下文语义命名、例如:
获取账号信息
- 函数名称建议限制在32个字符内、不能超过125个字符
- 一个窗口文件或模块中不能包含两个相同名称的函数
窗口
- 窗口名称不能使用纯数字或数字开头、只能使用中文或字母开头
- 窗口名称按照窗口功能命名、不加任何前缀、但应该对不同功能类的窗口进行分组、例如:与用户有关的窗口、
登录窗口
、注册窗口
、个人中心
等应该放在用户分组中。
代码格式规范
缩进
换行时使用 4
个空格进行缩进,或一个 Tab
键缩进。
行长度
-
每行代码不超过
120
或200
个字符。 -
一个函数或事件内不超过
80
或120
代码。 -
一个窗口或类模块中总代码行数不超过
800
或1000
行,超过时应该对其代码做功能性拆分、将功能放到不同模块中。
语句块
-
含有结束标志的语句、例如:如果、判断、函数、事件、循环类代码体等等,结束行与开始行必须独占一行、且开始,结束标记必须匹配。
-
使用 “判断” 或 “如果” 语句的时候、最大分支不超过
30
个、如果超过30个分支或条件、应该考虑更换其功能实现的思路。 -
使用“判断”或“如果”语句时、内部嵌套“否则 如果”不超过
3
层、超过3层应该考虑使用返回语句、策略模式、状态模式等来实现。
空格
-
在运算符两侧添加空格,例如:
变量 sum 为 整数型 = a + b
-
关键字右侧有括号的,关键字与括号之间不能含有空格;例如:
如果(
、变量循环(
、判断(
、判断循环(
注释
-
注释符与注释内容之间设置一个空格,例如:
' 这是注释内容
-
多行注释使用注释模板。
窗口与模块规范
单一职责原则
每个窗口或模块只负责一个功能。模块负责具体功能的实现,窗口负责功能的展示。将指定功能封装到模块中,窗口调用模块,窗口本身不负责复杂的功能业务。
代码复用
-
避免重复代码、将重复代码提取到方法或工具类中。
-
将程序中通用功能封装到工具类中。
异常处理规范
在容易发生错误的代码处、捕获程序发生的异常错误信息。
视窗示例:
事件 按钮1.被单击(来源对象 为 对象,事件对象 为 鼠标事件)
异常捕获首
变量 ary1 = {1, 2, 3}
' 数组总共只有3个元素,获取其第6个元素、将触发异常信息
调试输出("元素:" + ary1[5])
异常被捕获(异常信息 为 对象)
调试输出("异常信息:" + 异常信息)
异常捕获尾
结束 事件
运行上方代码将输出:
异常信息:java.lang.ArrayIndexOutOfBoundsException: 5
多线程编程规范
- 严禁在子线程内更新窗口组件内容
- 不应滥用线程、应该根据自身业务逻辑做出功能型评判后再使用。
- 耗时操作、或让程序产生卡顿、无响应操作的代码必须放在子线程中
其它规范
- 在不确定文本变量或对象是否为空的情况下、必须先检测对象是否为空、避免引发空指针异常。
- 在使用
判断循环
代码语句体时、必须保证判断条件有假、即可以退出的情况;否则会造成程序死循环直接崩溃。 - 在使用一般循环体代码时、针对循环取数组成员变量、或取集合数据时、必须判断其索引是否小于成员数、例如:假设一个数组中只有5个元素、当使用下标5或超过5的索引去取数据时、程序将因为超出数组索引发生崩溃。
- 严禁在循环遍历中对数组或集合做删除操作。