做项目有一段时间了,利用下班或者零碎时间的功夫,想分享一些个人心得和感受。与君共勉。
前端应该具备的几个能力:
(1)准备假数据(模拟数据)的能力,因为后端有时候接口没有准备好,前端没有数据,但是排期比较紧,不能等待后端,前端要有造模拟数据的能力
(2)有跳过某一个业务逻辑的能力,假如一个闭环的业务需要5步可以完成,如果2卡住了,那么345就不能继续推进,当然麻烦后端改数据库确实是一个好办法,简单粗暴。如果是不得已的情况下,又是在开发环境我想也行吧。
(3)数据处理的能力,有时候数据后端处理好,前端直接渲染比较轻松,但如果接口返回的数据并不能直接使用就需要前端在渲染页面之前要进行一些数据处理,有时候数据处理的工作量还比较大。这是一个比较模糊的问题,需要考虑好这个数据处理的工作是谁来做比较好?
(4)校验的问题。前端的校验可以替代后端省去不少校验工作,但是如果直接用postman接口工具去测试就会存在问题。校验的问题在一些场景是前端做比较好,例如表单校验;另一些场景,例如数据量较大的重复性检索的问题肯定是后端校验。还是要根据具体场景具体分析。
(5)多个项目同时开发的情况,后端的开发环境操作,影响前端不同版本的迭代开发,应该怎么办?
(6)代码分支的管理,项目多的时候,或者同一个项目需要同时迭代多个版本的时候,代码管理尤为重要。以前做的项目在这方面没有规范,随着越来越正规,还有就是分支写多了,就慢慢有了新的感悟,这一块确实有必要去维护好。如果引起代码丢失或者项目发布没有合并代码的话是比较严重的发布事故。
(7)封装组件的能力,这里分享一点我自己的想法,根据个人经验,我想,前端组件可以简单分为公共的一般功能组件和实现业务的业务组件,一般功能组件是实现系统普遍存在的一般性功能,可以方便之后的相似功能业务的开发。业务组件就是和我们的需求业务有很强的关联,其中的数据,逻辑跟我们的业务强耦合,一般不能再放入其他页面中使用。我们前端在封装组件的时候确实需要也是一定要考虑的一件事情就是尽可能的不要把业务上的数据和逻辑放入到这种一般性功能的组件之中,这样会产生一些代码的耦合,我们的项目在逐渐健壮起来的时候,就很难再操作。所以在操作组件的时候,尽可能把数据和逻辑准备在业务组件中,假如我们不得不这样做的时候,也最好写好备注,并且尽量不影响以前的代码逻辑。以前刚开始做项目的时候就确实碰到这个问题,导致本来封装的一个table组件,其中添加了太多的if和else,我想就是因为和业务耦合性太强,不过这是一方面,另一方面就是迭代的次数频繁,加上周期比较久,经手人多,就改起来难度变大了一些。所以针对于封装组件这一点,我在现在的项目开发中也慢慢发现了一些可以去优化的点,那么就要在之后的项目迭代中如果要封装组件,那么就应该尽可能规避掉一些问题,这也是如果在排期比较充足,有时间的话需要进一步优化的事情。毕竟这可以让我们使用组件的时候更流畅一些。
to be continued...