项目总结二:龙图OA项目总结

来源:互联网 发布:php前端和后端 编辑:程序博客网 时间:2024/06/05 21:12

一、项目简介

1、项目基本信息

基本信息 详细 项目名称 龙图OA 平台 iOS(兼容iOS 7.0 以上的系统) V 1.0开发周期 2015年12月4日-2016年01月04日(共23天,除去周末,两天加班) 项目背景 这款APP主要是服务于公司内部员工的,通过这款APP可以实现上下班打卡、查看所有的打卡记录,发布任务、领取任务,提交请假、采购申请,即时聊天等。 主要技术 1、消息推送;2、环信的即时聊天 iOS团队 4人

2、项目部分截图

这里写图片描述

二、项目总结

1、项目中犯的错

(1)通用的部分没有封装好

在申请模块中一共有八个申请单,比如漏打卡申请单、请假申请单、出差申请单等,基本上每个申请单都有一个或者两个以上的需要填写的文本框。但是文本框需要输入多行文字,而且需要有字数统计和限制,如下图:

这里写图片描述

一开始没有考虑那么多,用的是UIView+UITextView+UILabel实现的。八个申请里面一个有15个这样的布局,所以差不多是同一份代码重复写了十五遍。而且处理键盘和统计字数的代码又重复写了15遍。

正确的做法是:在后期进行代码重构,另外单独新建一个类用于实现这个比较特殊的文本框,然后在其他需要的地方调用一下。这样做不仅省了很多时间,也省了很多冗余的代码,使逻辑也变的简单了。

(2)注重程序设计

在该项目中的任务模块顶部有一个tabbar,底部也有一个tabbar,中间部分是列表,还需要支持左右滑动切换界面。如下图所示:

这里写图片描述

我实现的思路是在scrollView上放列表,点击头顶部或者是底部的tabbar上的按钮,实现界面的切换。最终的功能是实现了,但是自己感觉里面的逻辑判断过多,特别是数据的加载,代码可读性差。后面与我们的主管沟通了我的想法,主管将我写的那部分进行了代码重构(差不多是他自己重新写了一遍),我仔细看了下他的思路,他采用了MVC的模式,将逻辑层和数据层分开了,这样写出来的效果非常好,代码结构请求,bug也没有。在心里默默的给主管点个赞,这样精简的代码我确实写不出,我还需多努力。

(3)重用机制没有彻底理解

虽然以前用列表用的挺多的,但是对于复杂的tableView和collectionView的重用还是没有理解透彻,会因为重用的问题而产生一些bug。

(4)苹果自带的一些方法不熟悉

此次项目中用到与时间有关的处理比较多,字符串转时间格式、时间格式转字符串、时间的比较、时间的计算等。其中有些日期的比较是我自己写的方法实现的,但是其实系统有自带的方法可以实现。只是我一开始不知道,用系统自带的方法会更简洁和节省时间。

2、个人心得体会

此次项目,任务量比较大、时间比较少,后台接口出的也比较慢。在此次项目开发中,有点急躁和冒进,常常是一个功能没做完就去做另外一个功能,或者是一个功能匆匆忙忙做完,还没有仔细测试然后就跑去迫不及待的开发另外一个功能。这样做的后果就是会导致产生一些隐性的bug,给后续的开发和测试埋坑。正确的做法应该是一个功能做完做好之后,才去着手另外一个功能,做到急而有序,急而不乱。

另外,通过这次的项目开发,我意识到了要提高自己的程序设计思想和代码质量,但确实自己水平有限短时间难有较大的突破,所以后期需注重提高程序设计的思想和代码质量。

与上次项目开发相比,我已经开始由认识到代码表面的一些不足开始深入代码层次和程序思想的问题了。

2016年01月06日 中清龙图

0 0
原创粉丝点击