【Android】识时务者为俊杰,轮子造还是不造



在面向对象语言编程中我们都知道不要重复造轮子(也就是不要重复的去写一段代码),但我们知道么,在有些时候轮子造多了会有反效果,那么我们就来说说这些反效果吧。

1.最近刚到一家产品公司,我的工作就是维护优化修复现有app,并定时发布新的版本,最近头疼的问题是因为我刚来,对上一个人的代码不是很熟悉,经过几天的熟悉了解之后,发现上一个人写的代码很牛逼,让人一看就知道是大神写的代码,各种封装,各种重复利用,几个车轮子来回跑,好不容易理解的他的代码意图,然后我对他的认可就随之发生了改变,为什么呢?原因出现在一个功能上,在现有app中有发帖功能,同时在其他模块有发表公告的功能,从美工给的切图看来大体好像差不多,但是发帖需要选择分类,发表公告不许要选择分类,同时发帖有200字数限制,发表公告有2000字数限制,按钮的风格也不一样,但是我原本以为是两个界面,结果大吃一惊,竟然是一个类,这个类的代码已经写到了1156行,很膨胀的一个类


为什么会有这么多代码?

我们来分析一下,因为是两个功能模块公用的同一个类,导致每次都需要不断去判断类型从而进行不同的操作,代码臃肿,凌乱不堪,经过漫长的整理之后,我将这两个功能模块分开,这次会发现:


发表帖子界面有383行代码,发表公告界面有316行代码,发现没?383+316<1156

看似分开会多写很多代码,可是实际上节省的大量的if-else的类型判断从而会节约大量的时间,及工作量。

在android开发中什么样的东西可以通过只用一个轮子来解决呢?

1.功能相同,务必100%,统一封装,统一调用

2.如果你发现你每次都要写两行以上的代码,并且在同一个类中重复次数>2,那么封装一个方法即可

什么时候不能只用一个轮子来解决问题呢?

3.涉及到UI界面的一定要保证一个界面一个activity,保不准那天功能需求变动就悲催了


强烈建议开发者使用mvp或mvvm框架,这样代码耦合度低,且方便阅读


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值