成长

80 阅读2分钟

1: 一个程序,项目是由功能点组成的,功能包括数据流,视图,交互与异常处理,当你拿到一个预想的产品需求,首先梳理核心需求,判断核心功能依据现有的环境能否实现,然后是需求拆解,将涉及到的功能点依次列出,梳理每一个功能点的数据链路(从如何取数据,接口或协议等;如何处理数据,使用数据;数据的异常处理,接口失败协议不通怎么办,比如有些时候不在前台协议不会执行,如何处理需要考虑到),视图交互(依据UI给的设计判断怎么完美实现这个样式与动效)(会不会出现预期之外的交互流程?这些交互会触发哪些数据变化?),异常与兜底处理(数据里的边界值,视图上的兜底逻辑,交互上的异常提示),上述说的都是针对功能的,要明白整个产品的流程逻辑与功能点拆解是两个不同的都需要细化的问题

2:梳理出每一个功能点之后,研究一下这些功能点如何设计store,如何设计层次(视图与逻辑都需要有层次),如何遵循单一职责原则,如果功能点实现时有相同流程,如何设计这个统一的入口函数,统一的流程逻辑,尽量做到只有必须要逻辑分叉时才分不同流程

3: 对自己的代码有把握吗?
如果对自己的代码没有超过80%的把握,足以说明代码逻辑设计的不合理,没有遵循单一职责原则,剩余20%可能来自网络,后端,考虑不周的地方,但自己实现的代码逻辑必须是可控的,有十足把握的

4重构是在自己编码时持续进行的,循序渐进调整代码架构,逐步趋于合理,可能刚开始没有一个优美的设计,代码量也不足以设计,但是当一个组件、一个函数逐渐臃肿,冗余,就要有重构的意识与决心,因为只有持续重构这部分时间是属于自己成长的时间,也是编码时的突破点,亦是区分工程师与码农的依据