差異處
這裏顯示兩個版本的差異處。
| 兩邊的前次修訂版前次修改 下次修改 | 前次修改 | ||
| wiki:自动化与科技指导:opencomputers:编程规范 [2023/12/08 16:25] – [总旨] nikoqw | wiki:自动化与科技指导:opencomputers:编程规范 [2023/12/11 11:33] (目前版本) – [总旨] nikoqw | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | <WRAP center round info 60%> | ||
| - | 本规范是非强制的,但强烈建议你遵守。 | ||
| - | </ | ||
| - | |||
| ====== 编程规范 ====== | ====== 编程规范 ====== | ||
| 为了能够配合既有代码使用,合理利用服务器资源,所有程序必须遵守本编程规范。 | 为了能够配合既有代码使用,合理利用服务器资源,所有程序必须遵守本编程规范。 | ||
| ===== 总旨 ===== | ===== 总旨 ===== | ||
| - | 开放式电脑的程序需要基于事件驱动、能够“干净”地终止,做到低耦合高内聚、尽量运用库的功能,不要自己实现即有库已实现的功能。 | + | 开放式电脑的程序需要: |
| + | * 基于事件驱动。 | ||
| + | * 如果程序能够被终止(即非除了切断电源才能停止程序),则必须能够 “干净” 地终止。 | ||
| + | * 没有资源(如文件句柄)泄露。 | ||
| + | * 低耦合高内聚、尽量运用库的功能,不要自己实现即有库已实现的功能。 | ||
| 具体来说,规则如下: | 具体来说,规则如下: | ||
| + | * 如无特殊要求,使用 local 变量和函数。 | ||
| * 非后台程序中,使用 '' | * 非后台程序中,使用 '' | ||
| * 无论是否为后台程序,键鼠事件必须使用 '' | * 无论是否为后台程序,键鼠事件必须使用 '' | ||
| - | * 如无特殊要求,使用 local 变量和函数。 | ||
| * 必须能够处理 interrupted 事件,非后台程序中,处理的行为是注销所有事件、定时器、文件句柄等,然后退出整个程序;后台程序中,处理的行为是简单地退出。 | * 必须能够处理 interrupted 事件,非后台程序中,处理的行为是注销所有事件、定时器、文件句柄等,然后退出整个程序;后台程序中,处理的行为是简单地退出。 | ||
| - | * 后台程序中,必须监听一个事件。该事件触发后能注销所有事件、定时器、文件句柄等,从而 “干净” 地退出后台程序。 | + | * 后台程序必须监听一个事件。该事件触发后能注销所有事件、定时器、文件句柄等,从而 “干净” 地退出后台程序。 |
| - | * 后台程序中,必须监听一个事件。该事件触发后能让后台程序恢复显示和处理键鼠事件。 | + | * 后台程序必须监听一个事件。该事件触发后能让后台程序恢复显示和处理键鼠事件。 |
| ===== 示例 ===== | ===== 示例 ===== | ||
| + | 建议您在编写 OpenComputer 程序时,直接复制示例中的代码作为开始模板,然后在此基础上实现您的逻辑。 | ||
| ====1.1. 一个简单的前台程序==== | ====1.1. 一个简单的前台程序==== | ||
| <code LUA> | <code LUA> | ||