# /开发/规范 ***** 可爱猫**开发规范**,是一套关于可爱猫应用开发的守则。 如果您要开发可爱猫应用(尤其是要分享给他人使用时),我们强烈建议您详细阅读本套规范。 > ## **为什么要遵守这套规范?** >[info] * **稳定**:为了让可爱猫能够长时间地稳定运行,不因为应用出错而崩溃。 > * **高效**:为了让应用能够高效地运行,尽可能做到回复零延迟。 如果您的应用能够尽可能遵循这套规范,相信这款应用能受到机器人玩家的喜爱,也一定能为大家的AI增添色彩。 > ## **注意事项** 新手开发者在开发过程中,常常会出现一些疏忽,在我们开发应用过程中,应该避免这些疏忽。 > ## **注重稳定性** 在开发过程中,IDE常常会指出一些错误,通过IDE的错误定位,我们可以及时改正错误。 ***** 但更多的时候,IDE并不能帮我们指出一部分错误,如运行时的数组越界、内存泄漏,或因网络波动造成的接口失效等,正因为无法及时发现,这些错误的危害比前一种更大。这就要靠我们在开发时,本着谨慎的态度去撰写代码,考虑运行中的多种情况,切忌“能运行就好”。 ***** 如果真的发生了如上错误,可以多输出调试数据,帮助我们定位错误位置。 > ## **测试环境≠实际环境** >[warning] 在测试环境中,应用被调用的次数是有限的,而在实际使用中,消息的压力往往会突增突减,应用需要持续运行的时间也会很长。在测试过程中,除了简单的测试性调用外,我们也应该注意应用的长时间、高频率、多群同时调用。还要注意开发中的应用是否会对其他应用造成影响(如误拦截消息等)。 > ## **不要使用“优化内存”(SetProcessWorkingSetSize)等优化命令** >[info]使用此类命令,仅仅会使可爱猫的内存数据从高速的内存中转移到低速的虚拟内存中。这不仅无法实际释放内存,还会**使可爱猫运行效率更低**,因此在应用中**绝对禁用此类命令**。 > > 开发过程中,应该更多防范**内存泄漏**的问题,而不是如何去“释放”内存。 > #### **注意线程安全** >[info] 可爱猫的消息处理均在多线程处理,同一个函数可能会被多条线程同时执行。请在进行非线程安全的操作时(如操作全局变量、全局数组变量等),加上临界区(易语言中称为许可证)。具体用法可以参考网上的资料。 > > 同时,如非必要,也请尽可能减少使用全局变量(包括易语言中的程序集变量),而改用局部变量。 > ### **代码重用** 在可爱猫中,为了方便应对不同消息的处理,所有事件被分为了不同的函数。如果一个应用要同时支持多种消息类型的回复,为了提高代码的可维护性,应该注意**代码重用**。 ***** 比如开发一个“讲笑话”应用,应该将“获取笑话”作为单独的一个函数,然后在好友、群、临时、讨论组事件中调用“获取笑话”函数。**而不应该**将获取笑话函数复制四遍,放入这四个事件中。 * 如果对不同类型的消息处理有细微不同的话,可以将消息类型等作为参数传入“获取笑话”中,再使用“如果”、“判断”等函数进行区分。 >[success]更新时间:2019年7月25日15:02:23 > 更新作者:北冥