module
2015-12-31 04:18:31 0 举报
模块(Module)是一种可重用的代码单元,它包含了一组相关的功能、数据和行为。在编程中,模块可以帮助我们组织和管理复杂的程序结构,提高代码的可读性和可维护性。通过将程序分解为多个模块,我们可以更容易地实现代码的复用和扩展。此外,模块还可以帮助我们隔离不同的功能和逻辑,降低代码之间的耦合度,从而提高程序的稳定性和可靠性。总之,模块是现代软件开发中不可或缺的一部分,它为我们提供了一种高效、灵活的方式来构建和管理大型项目。
作者其他创作
大纲/内容
Window
+ createModuleTemplate(option)+ createModuleTemplateMock(option)
SecondModule
LocalTimer
+ start()+ stop()
ModuleTwo
问题1:缺乏基本的程序设计,存在大量过程相似的代码比如每个module都要负责时间组件的初始化、状态保存、状态恢复。
测试问题:module在为整个互动课堂做集成测试
LocalModule
+ getResult()
ModuleThree
Logger
+ error(msg)+ warn(msg)+ info(msg)+ debug(msg)
NativeBrige
listen()
Presenter
其他问题:4,5,6,7,9....modue在不同环境具有不同功能的问题新UI css转scss问题内存泄露问题qti数据解析异步导致代码结构变复杂图片加载异步导致代码结构变复杂css、资源加载慢页面闪烁jQuery重复创建多次append html
EventBus
+ listen()+ sendEvent()
ModuleTemplateMock
- timer: Timer- submit: SubmitButton- localModule: LocalModule- layout- logger: Logger
问题1解决:ModuleTemplate负责布局部分的渲染以及公共组件的渲染、状态保存、状态恢复等操作,大幅度的降低module的开发逻辑
解决:module的代码将数据转html、交互控制、状态变化的等接口细分1、是module的代码结构更清晰,易与阅读2、在框架层面上控制modue的交互控制在老师端少执行,甚至不执行,解决内存泄露3、团队目前情况人比module,有需求多人同时开发一个module的需求,比如目前新UI、状态恢复等工作同时开展,从程序结构上尽量的防止多人开发时代码冲突,不用把时间浪费在无意义的代码合并上。
SubmitButton
+ getState()+ setState()
ModuleOne
问题2:module状态变化的缺乏统一的入口,module的开发员需要应用多种复杂的消息处理。
Timer
互动课堂App
ModuleTemplate
- timer: Timer- submit: SubmitButton- eventBus: eventBus- nativeBridge: NativeBridge- localModule: LocalModule- layout- logger: Logger
LocalSubmitButton
问题3:module缺乏更细粒度接口设计来区分mvc的不同环节,不利于代码的阅读、维护。优秀的代码只有一个准则:易读
FirstModule
Layout
+ start()+ stop()+ getState()+ setState()
解决:所有状态变化入口由ModuleTemplate统一成唯一的入口,简化module的逻辑
0 条评论
下一页