代码越写越长怎么组织,类模块与方法复用入门
事件里的代码一多,翻页找逻辑就成了灾难。V7 的解法是类模块:把成块的代码拆出去,按名字调用。官方教程在类模块上安排了五讲以上,说明它确实是组织中大型项目的关键。
类模块解决什么问题
假设"判断密码是否合法"这段逻辑在登录、注册、改密码三个界面都要用。没有类模块,你得复制三份,改规则要改三处;有了类模块,写一份、三处调用:
mk1.abc()
这行代码的意思是:调用 mk1 模块的 abc 方法。模块里还能带参数、返回数据:
s tt = mk1.aab('aAa', 'bBb')
syso(tt)
这两段正是代码编辑器截图里"模块用法"演示的内容。
界面的类模块
V7 有个特殊设定:界面本身就是类。官方教程里"界面的类模块"一讲专门讲这个——每个界面自带载入、更新、销毁等事件方法,你在界面里写的事件代码,本质上就是往这个类里填方法。理解了这一点,"导入界面传数据""提供与注入数据"这些功能就好懂了:都是在界面类之间传递数据或调用方法。
带包名与全局对象
项目规模再大一点,还有两层组织工具:
- 带包名的界面 / 类模块:用包名给类分组,相当于文件夹分目录,几十个界面的项目不至于乱成一团;
- 应用全局界面对象 / 全局缓存数据:跨界面共享对象和数据的地方,配合四种变量里的全局变量使用。
拆分经验
- 一段代码写第二遍时就该拆成方法;
- 一个界面的事件代码超过一屏,就把纯计算、数据处理的部分挪进类模块;
- 模块按职责命名(数据、格式化、网络),别起 a1、a2 这种名字。
有代码就有意外,下一页讲程序出错的两大保护网:注释与异常。