# /開發/規范
*****
可愛貓**開發規范**,是一套關于可愛貓應用開發的守則。
如果您要開發可愛貓應用(尤其是要分享給他人使用時),我們強烈建議您詳細閱讀本套規范。
> ## **為什么要遵守這套規范?**
>[info] * **穩定**:為了讓可愛貓能夠長時間地穩定運行,不因為應用出錯而崩潰。
> * **高效**:為了讓應用能夠高效地運行,盡可能做到回復零延遲。
如果您的應用能夠盡可能遵循這套規范,相信這款應用能受到機器人玩家的喜愛,也一定能為大家的AI增添色彩。
> ## **注意事項**
新手開發者在開發過程中,常常會出現一些疏忽,在我們開發應用過程中,應該避免這些疏忽。
> ## **注重穩定性**
在開發過程中,IDE常常會指出一些錯誤,通過IDE的錯誤定位,我們可以及時改正錯誤。
*****
但更多的時候,IDE并不能幫我們指出一部分錯誤,如運行時的數組越界、內存泄漏,或因網絡波動造成的接口失效等,正因為無法及時發現,這些錯誤的危害比前一種更大。這就要靠我們在開發時,本著謹慎的態度去撰寫代碼,考慮運行中的多種情況,切忌“能運行就好”。
*****
如果真的發生了如上錯誤,可以多輸出調試數據,幫助我們定位錯誤位置。
> ## **測試環境≠實際環境**
>[warning] 在測試環境中,應用被調用的次數是有限的,而在實際使用中,消息的壓力往往會突增突減,應用需要持續運行的時間也會很長。在測試過程中,除了簡單的測試性調用外,我們也應該注意應用的長時間、高頻率、多群同時調用。還要注意開發中的應用是否會對其他應用造成影響(如誤攔截消息等)。
> ## **不要使用“優化內存”(SetProcessWorkingSetSize)等優化命令**
>[info]使用此類命令,僅僅會使可愛貓的內存數據從高速的內存中轉移到低速的虛擬內存中。這不僅無法實際釋放內存,還會**使可愛貓運行效率更低**,因此在應用中**絕對禁用此類命令**。
>
> 開發過程中,應該更多防范**內存泄漏**的問題,而不是如何去“釋放”內存。
> #### **注意線程安全**
>[info] 可愛貓的消息處理均在多線程處理,同一個函數可能會被多條線程同時執行。請在進行非線程安全的操作時(如操作全局變量、全局數組變量等),加上臨界區(易語言中稱為許可證)。具體用法可以參考網上的資料。
>
> 同時,如非必要,也請盡可能減少使用全局變量(包括易語言中的程序集變量),而改用局部變量。
> ### **代碼重用**
在可愛貓中,為了方便應對不同消息的處理,所有事件被分為了不同的函數。如果一個應用要同時支持多種消息類型的回復,為了提高代碼的可維護性,應該注意**代碼重用**。
*****
比如開發一個“講笑話”應用,應該將“獲取笑話”作為單獨的一個函數,然后在好友、群、臨時、討論組事件中調用“獲取笑話”函數。**而不應該**將獲取笑話函數復制四遍,放入這四個事件中。
* 如果對不同類型的消息處理有細微不同的話,可以將消息類型等作為參數傳入“獲取笑話”中,再使用“如果”、“判斷”等函數進行區分。
>[success]更新時間:2019年7月25日15:02:23
> 更新作者:北冥