差異處
這裏顯示兩個版本的差異處。
兩邊的前次修訂版前次修改 下次修改 | 前次修改 | ||
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> |