编程规范

差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

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