最近,因公司的原因,出现了空档期,正所谓“生命不息折腾不止”,于是乎,我将公司的APP搞了个分支出来进行大量的重构,特此记录一下:
1、项目架构由原来的MVC更换为MVP,重新封装各种基类,解耦更加彻底,避免activity过重
2、图片加载:由原来的Picasso更换为Glide
3、网络加载:由原来的Volley+Okhttp更换为Retrofit2+RxJava2
4、引入万能适配器:BaseRecyclerViewAdapterHelper,adapter节省了大量的代码
5、底部导航:原来的FragmentTabHost+FrameLayout更换为BottomNavigationView+ViewPager
6、引入日志美化框架logger
7、引入bugly,实现对异常的上报及热修复功能
8、引入Butterknife,配合插件,彻底解放了findViewById和setOnClickListener
9、引入Dagger2,使用依赖注入,再次降低MVP间的耦合
10、引入RxLifecycle,防止因使用RxJava而导致的内存泄漏
11、引入recyclerview-animators,添加了nice的加载动画
12、将原来的本地数据库框架ORMlite更换为GreenDao,对部分数据进行本地化处理
13、使用腾讯X5内核替代系统自带的WebView,统一进行封装,处理照片长按事件、下拉刷新等
······
大家都知道,所有程序员都有一个万能通用的编码方法——复制粘贴大法
然而,长期下来,项目中祖传代码一抓一大把
有时项目工期紧,没时间做重构和优化是很正常的
但是,想说的是,有时重构反而能提高生产力,提高开发效率,而且对自身技术的提高也有很大的帮助
所以,当你疲于维护你的项目时,请停下来看看,是否应该对自己的项目进行重构和优化了
重构和优化是永无止境的,路漫漫其修远兮,吾将上下而求索!
网友评论