项目总结二:龙图OA项目总结
来源:互联网 发布:php前端和后端 编辑:程序博客网 时间:2024/06/05 21:12
一、项目简介
1、项目基本信息
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日 中清龙图
- 项目总结二:龙图OA项目总结
- OA项目总结
- oa项目总结
- OA项目总结
- OA项目出现的异常总结
- OA项目开发遇到的问题总结
- OA项目总结 ssh 框架学习总结(一)
- ZYBB项目总结(二)
- ios 项目总结二
- 项目总结二
- 实习项目二总结
- ShopStore项目总结(二)
- 百家典型OA项目实施案例总结
- 国航OA项目技术总结(二)关于JVM虚拟机中对象的创建,手机端提速的重要优化
- OA项目 分页功能总结二 实现较为复杂的分页功能(资料来源于传智播客汤阳光的视频教程)
- Webwork项目总结(二)
- 小型项目总结之二
- NXZFW项目总结(二)
- Go语言圣经(中文版)
- C++ 检测内存泄露工具 -- Windows平台
- JSONKit报错
- OpenCV3.1+numpy1.10.4+ubuntu14.04 x86_64:
- linux中的libz.so.1库文件丢失解决办法
- 项目总结二:龙图OA项目总结
- C point and array practice
- 从头认识Spring-1.2 什么是AOP?为什么需要面向切面编程?
- Docker镜像和容器系列(二)- 操作详解
- IOS CALayer 详解
- Spring 事务
- uva11636
- MFC之CDC的结构类图
- iOS进阶7--桥接JS和Native