前言:
公司的项目为了适应市场的发展变化,需要快速的迭代。本文将会介绍项目开发中加快进度及减少BUG的方法。以下经验都是作者在公司项目的开发中的实际经验,有些可能违背了软件开发的规则,但是都是为了公司项目的快速稳定的迭代。都是个人经验不喜轻喷。
开发准备及对接:
1.产品对接
接到任务分配的时候,先把自己负责的功能模块流程系统的看一遍,每一个页面,每一个逻辑,都要有一个把握。千万不能走一步看一步。对于一些不清楚或者明显的错误地方要及时提出来,不要到开发中发现路走不通了在反馈,这样的话会大大浪费开发时间及代码整体的布局。
2.UI对接
对于设计师设计的UI图,要全套一起去看,千万不能一张一张的看。一整套的UI图有很多的共同点,很多的公用部分,都可以代码块抽出来公用,这样大大提高开发效率。对于UI图和产品原型有明显的出入,要及时和产品设计沟通,不要糊里糊涂的去做,到最后测试验收阶段还要各种改。
3.测试BUG修改
对项目要有个整体的把握,BUG反馈出来要在极端的时间定位出错误的文件。这就需要开发人员对项目结构分布有很熟悉的了解。建议开发中对文件的操作别用搜索的方法,这种方法虽然一开始比较快,但是时间久了那个文件在哪个地方你都会忘记。建议找文件,一个文件夹一个文件夹的去记忆。或者是按照项目的跳转顺序一级一级的去找,这样对项目文件的分布的掌握有很大的好处。要达到,看见问题就知道那个文件出错,十秒钟定位到错误文件,一分钟内定位到错误的代码行。
开发项目写代码中:
1.项目布局
要对项目有一个清晰的整体布局,那个文件夹放什么东西都要严格养成习惯。这样对项目的可读性及开发的效率有极大的提高。文件夹的命名建议用功能模块去命名,例如“个人中心”"主页"“会员中心”等等。文件的命名一定要清晰,不怕名字长就怕不清晰。项目开始的时候文件少,命名若是很随意的话,到后期文件多了,你会发现你已经无名可命了。建议文件命名采用三个单词的驼峰命名法例如:UserCenterMeassageVC(个人中心)。图片命名要和使用的地方进行关联,例如我用户的头像站位图,我可以这样起名字User_HeadPlaceHold。对于图片存放位置,宏定义、接口地址、三方SDK位置等等,都按照规范来搞。
2.巧用代码块
队友一些常用的代码就把他整理成代码块,随用随拖。向一些常用的布局代码、样式代码、网络请求,都去把它总结起来。写代码的时候直接拖拽出来。对于一些比较相似的页面直接全部拷贝过来然后在修改。
3.解耦合
写代码中要注意解耦合,尤其是项目发展快,变化大的项目。有些项目的界面很相似,开发者就喜欢把界面重用掉,这样虽然能省下来几个文件,但是后患无穷。项目的控制器尽量不要重用,要不后期一个地方的改动,可能会牵扯很多地方的协同改动。不要怕文件增多,两个控制器一样,就把代码全拷贝过来好了。作者就吃过这样的亏,以为界面相似就用同一个界面。结果后台接口数据接口不同,我又需要各种去判断解析。后期一个页面变了,牵扯各种判断。花费的时间远远大于新建文件。
4.使用三方控件
一些简单的布局可以自己去写,一些相对复杂及对性能要求高的控件尽量去找一些开源控件。开源的控件大部分都经过开发者的使用变得强大稳定,比自己短时间能写出的控件更好。这样既能节省时间,也能减少BUG。
5.类命名统一
对于各种类的命名要全局统一,arrModel、imageV、labelTitle、model等,见名知意。这样在开发中自己不需要去特意的留意各种累的名称,自己都习惯于使用它们,大大提高开发效率。(有些开发者各种搜索类名,请左转面壁)
6.开发思想
大部分的开发人员,没有开发思想,写代码一根筋,一条路走到底,不会捕捉异常。这样代码BUG会多的脑袋疼。开发中要全面协调的去构思,写出的代码适应各种环境各种情况才行。
7.接口对接
调接口的时候,要在可控范围能反复试验。例如:一个修改昵称的接口,你随意的输入几个字符,点击确定修改成功了,就不理他了。那你就是传说中的一根筋。要在可控范围,输入空格保存一下试试。不输入任何东西试试,输入到最大输入试试,输入特殊字符试试,输入表情试试。都不会异常才算是接口调通了。
8.自测
一个优秀的开发也是一个合格的测试。自己做出的项目,自己要用各种破坏性的方法去全面的测试一遍,这样完成的项目交到测试手中,几乎没什么大问题,只有一些自己忽略的小地方。
9.敢于钻研
出了BUG很正常,不要想着怎么去掩饰、去让他暂时通过。而是要寻根问底,从根本上解决。遇到难题要敢于面对,和同事朋友,或者是大牛去请教沟通。