敏捷开发 需注意的技术点

[b][color=blue]移除重复的代码[/color][/b]

在项目进行过程中,经常会出现功能类似,甚至完全一样的代码,我们应尽量提取出来作为单一对象的处理逻辑,其他地方直接调用即可

[b][color=blue]代码异味[/color][/b]

首先判断代码的稳定性,如果一些具体的情况或者需求发生改动了,然后我们来看一下我们的代码要满足新的需求是否需要改动,如果需要改动则表明代码是不稳定的,这是个很麻烦的事情,因为有很多种可能性,我们不知道那些需要考虑,那些不需要考虑,有个更简单的办法,就是如果我们已经第三次修改这些代码了,那我们就认定它是不稳定的,但这是一个被动的方法,虽然它很有效

我们有个更好的办法,如果这个代码是不稳定的,那么它往往包含一些痕迹,我们把这种痕迹称为“代码异味”,下面列举了几种典型的代码异味情况

[b]普遍的代码异味现象:[/b]
一:代码使用了类别代码(type code)
大多数情况下,我们通过给一个类创建子类来去掉type code,或者通过类的不同实例的方式解决。
二:类的某些属性很少被使用,一些实例中的属性有时有用有时没有用
三:无法给一个变量取名,因为不同情况它有不同的含义
四:大量的if-else 或者which语句,(它通常和type code同时出现)
为了去掉if-else,我们需要先保证每个条件分支下要写得代码是一样的,我们用继承接口或者抽象类的方式,把if-else里面的方法抽象出来,通过调用不同子类的方法去掉if-else ;或者用类的不同对象来去掉if-else,根据不同的参数构造不同的类的实例对象,这样比写几个实现类要简单的多
五:太多的注释
我们尽量把变量的命名规范一些,这样就省去注释了
六:一个方法有太多的参数,以及方法太长
七:两个类互相引用
八:类太长
九:在变量命名中使用”and””or”等等

[b][color=blue]怎样保持代码整洁[/color][/b]

遵守单一职责原则The Single Responsibility Principle 认为:每个类都应该只为一个理由而修改,当一个类包含许多其他的功能时,很明显就违背了该原则
在此原则下我们应该尽量的抽取方法和属性,以类型或者接口的方式完成新的功能
[color=blue]
[b]慎用继承[/b][/color]
继承了一下不合适或者没有用的东西
代理delegation,什么都没有做,只是调用了另外一个方法的返回称为delegation,我们可以用代理来替代继承,这样我们可以只把那些使用的方法设置为public
如果一个父类描述的东西不是所有子类共有的,那这个父类的设计肯定不是一个好的设计
当我们想用一个类去继承另外一个类时,一定要做再三的检查:子类会不会继承一些没有用的属性或者方法,如果有,我们需确定一下它们是不是有继承关系,如果没有则用代理,如果有,将这些功能转移到其他的地方去。

[color=blue][b]处理不合适的依赖[/b][/color]
一般来讲,如果一个类A引用了一个类B,当我们想重用A这个类时还需要把B加进我们的系统,更甚B还引用了C,C还引用了D,但B,C,D在新的系统里面。
怎么判断是“不合适的依赖”
方法1:看看代码里面有没有互相依赖,这种肯定是不合适的依赖
方法2:检查代码是否必须依赖于其他类
方法3:推测一下,它是否会在以后的系统中重用
方法4:要重用的时候就知道了

引用反转原则的表述,抽象不应该依赖于具体,高层的抽象的类不应该依赖于底层的具体的类,当遇到这种问题时,我们应该抽取出一个更抽象的概念。

[color=blue][b]将数据库访问,UI和域逻辑分离[/b][/color]
这三方面代码混在一起,会造成一下问题:
一:代码很复杂
二:代码很难重用
三:代码很难测试
四:一处动处处动
五:与面向对象的概念相违背
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值