美文网首页
程序员的技术修养(一)

程序员的技术修养(一)

作者: AmdyTeng | 来源:发表于2017-07-25 16:50 被阅读17次

    最近半年做了一个iOS的项目,从头至尾是自己一个人完成的,算是第一个独立的项目。在写程序的时候考虑欠缺,导致在后期测试中出现了各种各样的问题,经过多次测试,多次内心和身体的折磨之后终于算是告一段落了。这次的收获太大了,有些经验别人写出来是别人的,只有当自己体会到了才会真正的注意到。
    1.在拿到项目的开发文档或者设计文档的时候,不要着急立马写代码,首先应该根据文档去思考这个项目大体需要做成什么样的,有不懂或者疑惑的地方立马和甲方去沟通,确认好。
    2.开发的时候,要在开始的时候就对项目有一个整体规划,这个规划不一定具体到具体到每个功能的细节,而是对项目框架的设计,比如MVC、ReactNavtive、MVVM(待了解)等。
    3.在写代码的时候,做好对基类的建设,包括网络判断、提示信息、宏定义、本地存储、蓝牙、推送等,并且每一个基类都尽量做到可以扩展,保证代码的健壮性。
    4.一定要按着给定的文档来开发,如果后台给的数据格式或者数据名称有误,一定要及时沟通,做好判定,避免最后的时候撕逼互撇责任。在开发中间,也要及时和甲方的后台或者安卓等人沟通,避免出现差异性过大的弯路。
    5.开发过程中,遇到问题,先从小地方开始,一点点的认真的去分析去解决,一定要静下心来,沉淀一下思路,考虑问题的全面性,分析多种可能,从源头去解决问题。
    6.遇到问题,千万不要用打补丁的方式去解决问题,必须一定要 用一个最优的解决方案去解决问题,不能埋坑,否则到最后会导致越来越多的问题出现,比如代码的臃肿、逻辑的混乱,磨刀不误砍柴工,虽然花费的时间长一些,但是能从根本上杜绝未来出现问题的可能,切记!
    7.千万不要因为小细节小技术点不去重视,问题很有可能就出现在不易发现的地方。软件开发需要细心和认真,容不得半点纰漏,但是有了纰漏,程序还要有容错性。比如说数据或者对象可能为空的时候一定要加上判断,否则程序跑起来会有闪退,奔溃的可能。
    8.问题解决了之后,立马写下解决方案,有时间的话可以举一反三,彻底把这类的问题弄明白,保证在同一个地方不会被绊倒多次。
    9.要考虑多系统版本、多屏幕等各种适配的问题,对于不同的系统有不同的API,针对不同的系统,一定要区分使用API , 不去使用过期的API,慎重使用。
    10.函数的组建,尽量把每一个功能给模块化,根据差异去处理不同的文件,这个事情可以边写代码边重构。保证代码的简单化、高效率。
    11.在使用各种第三方的时候,一定要研究明白要使用的模块的使用方法,不能稀里糊涂的去用,容易引起例如蓝牙模块那里出现莫名奇妙然后打补丁的问题。
    12.测试的时候,一定要自己全方位,多层次的去测试,把各种可能出现的场景最好先记录一下,然后进行多次测试,有问题记录下来,并且解决完了bug之后,自己要再各种暴力测试,必须保证在多种严苛条件下都能正常运行,至少保证不会引起崩溃等严重的问题。
    13.软件的UI上面,一定不要想当然的去开发、去设计,如果只有一个客户端的APP,没有对比的话还好说,如果同时有安卓和iOS,那可能就比较痛苦了,可能会让你的iOS和安卓做到一致,可能安卓要和iOS做到一致,所以一切就按着给的切图来做,保证最后撕逼的时候错不在己,无所谓难看与否。
       总结:以上就是我这个项目的收获,每一点都是痛苦的经历,看每条总结都能想起那些被bug支配过的岁月。希望能给自己一个警醒,避免以后在这些地方不再犯错误,吃一堑长一智就够了,给自己一个机会,还代码一片安生。

    相关文章

      网友评论

          本文标题:程序员的技术修养(一)

          本文链接:https://www.haomeiwen.com/subject/jyxgkxtx.html