代码规范的一些小零碎

我们项目是Unity+Slua

客户端:

  1. 界面缓存起来的unity object/ component时, 需要在界面销毁时,把变量置nil
  2. 同理,全局变量存储unity object/ component更应该避免
  3. 需要频繁访问的unity object/component,就先缓存起来,用完置nil
  4. 注意C#和lua闭包相互引用问题,特别是闭包里同时引用着unity object/ component
    参考:unity tolua跨语言对象引用原理和内存泄漏问题分析

公共:

  1. 不建议使用弱引用,不建议使用metatable,不建议使用协程,避免使用面向对象(战斗除外)
  2. 尽量复用table,能不创建table就不创建
  3. 做好数据缓存,特别是提供给外部提供的接口,不要每次调用都产生新的table
  4. 能用ipairs的就别用pairs
  5. Hash table如果需要判断是否存在元素,应该使用next,而不是for

你可能感兴趣的:(代码规范的一些小零碎)