重构,前端领域的这个词让人更多地想到页面制作(html/css)的工作。 那么前端还有一个更重要的方面——那就是代码重构; 学软件工程的同学应该更清楚。
代码重构,简单来说,就是对原有代码进行重构、重写,使代码更加清晰,提高代码的复用性和性能。
下面开始讨论,希望能给正在做代码重构或者对代码重构感兴趣的同学带来一些启发和帮助。
示例:Web 弹性层 (//)
代码一:
这是创建对话框的基本代码(多个实例)。 这里主要做了以下几件事。
1、如果页面中找不到当前ID的对话框,则新建一个;
2.设置对话框标题;
3、设置关闭右上角命令菜单的事件;
4、设置对话框内容;
5. 设置对话框操作按钮。
思考:
1. 你真的需要多个组件实例吗?
,是否确实需要在右上角添加关闭命令菜单;
3.&nb编程sp; ……
代码二:
经过之前的实践,将多实例改为单实例。 右上角的关闭按钮也被删除。 为了增加其扩展性和灵活性,使用事件注入(hook)进行回调处理。
本次重构后,进行了以下改进:
1、将多个实例改为单实例,减少了实例的维护,更方便管理实例;
2.改变事件机制,减少事件绑定和维护;
3. 解耦HTML结构,代码无需关心页面结构的维护; 但是,它会带来页面的维护工作;
思考:
还有其他更灵活、更简洁的方式吗?
代码三:
以上是最近进化的版本。 这是公共逻辑弹性层(表单操作等)。 与上次相比,这里对事件钩子进行了调整,直接通过方法传递,以链式方式进行处理。 页面调用就简单多了。
调用示例:
与之前相比:
1、无需先设置对应的事件钩子;
2、方法分离,各司其职。 例如:编程show/hide只负责其可见性,其他功能由相应的方法处理,使得接口方法的职责更加清晰;
3、页面结构回归JS代码,考虑多产品应用场景,减少页面结构的维护。
好了,抛砖块就结束了。
最后一句话是,代码优化没有尽头,只有更多的思考和重构。 使您的代码更加可用和灵活。 它还降低了团队的学习成本。