最近做了一个项目,只负责前端部分,总结一下做项目中的坑。
首先是定位问题,我之前接到的通知是分析一下前端的工作量,进行一下人力安排排期,天真的我没有了解项目架构,仅仅是算了一下页面开发工作量和联调时间。事实证明,这个想法误导了我,后期吃亏了很多。在一个项目中,不管负责的内容多少,都要对项目的架构等有个整体的了解,对接多少项目组,什么样的架构,如何提测发版等对后期的开发很重要。
1.开发之前:
1.需求文档:接到需求之前需要仔细阅读,首先确定逻辑是否通,提出疑问。其次看一下处理流程,对需要对接的项目组心中有了解,分别去问这些项目组如何调用。第三,要确定接入方式,是外网接入还是内网接入。外网接入要确定开墙,前后端调用方式。
问题点:没有预估接入方式的问题,导致在开发环境前后端直接调用时可以的,测试环境以为外网接入,必须前端先调用app项目,app项目去调用后台接口。这样导致之前的代码都需要重新改动,重新测试。
2.接口文档:拿到接口文档,第一,和后端同时确定每个字段的含义和格式。第二,模拟全流程,确定字段是否齐全,是否否合逻辑。第三,确定出所有需要放在配置文件的字段,分别确定其生产,测试,开发阶段分别对应什么值。
问题点:特别注意需要写死传的值,一定要问清楚是否是测试生产及开发是否一致。切忌开发阶段写死联调,开发量大了,后期忘记修改,开发环境和测试环境如果是同一个值,导致生产环境不一致出现问题,影响发版流程。
3.联调方式:通过需求文档,确定前端要与几个后端项目联调。每个项目是如何的调用方式,参数加密方式(是否需要加密加签,如何加密加签,公私密钥分别是什么(一定要要在发版前让运营验证公私密钥是否匹配)),前段后台写在那个项目组,有哪些是公共参数,公共参数参考上一条。
问题点:1.这次的开发没有确定有几个后端项目,如何调用。导致联调两个不一样的后端项目,需要用不一样的方式,浪费了时间。2.公私密钥没有让运营去验证是否成对,用了项目中已有的公私密钥,测试环境的公私密钥是正常的,生产的是不成对的,导致生产验密失败发版失败。经验:一定要将密钥问清楚并且发出来让后端确定,并且让运营同事确定是否成对。
4.架构方式:架构不明确,整体架构不同步是我这次犯的最大错喔,耽误项目中很多问题。项目开始前一定要向架构组确定项目的工程放在哪里,测试工程放在哪里,如何部署如何发版(发版流程,发版方式)等。
前端注意点:
1.日期问题一定要复查。项目中有一个获取当前日期传给后台的参数,格式是“yyyy-mm-dd”,前端在js页面处理,但是在每个月一号到九号时候出了问题,比如说2018年6月1号,在传给后台时候传成了“2018061”导致接口出问题,应该在js处理日期为每月小于10 的日期手动补0。
2.参数问题复查。检查项目中是否有写死的值,一定不能存在,所有的都写到常量表和配置文件中。配置文件中的值一定要反复确定,是否生产环境和测试环境说不一样的。
3.密钥问题:生产的密钥一定要在发版前让运营验证是否正确。
4.安全问题:用户敏感信息加密传递,不能泄漏用户的证件号手机号姓名等信息用***代替。xss攻击要注意,入库时候度参数进行转义,可直接使用htmlUtils.htmlEscape(str),前端页面显示直接作为字符串显示。
原文地址:https://www.cnblogs.com/maoyizhimi/p/9120983.html