论坛首页 Java企业应用论坛

关于代码的可重用性

浏览 20860 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (6) :: 隐藏帖 (24)
作者 正文
   发表时间:2009-07-23  
最近在做程序时一直在思考代码重用性的问题,在关于Java的各种书籍中也一直在强调代码的可重用性,我之前所写的代码也一直遵循着这一规则,但是我最近越来越感觉这种规则很麻烦,当你费劲心机的想使一段代码变得可重用,就不得不加上各种条件的判断,代码中充斥了各种if...else... 使代码变得很难看懂,有时自己都会被各种不同的属性与条件判断搞晕,这样的代码对于后期的维护来说肯定是十分困难的。所以我现在都是把不同的业务逻辑用不同的方法实现,即使有些逻辑是相似的,我也使用了不同的方法,虽然这样造成了许多重复代码,但是这样的代码看起来逻辑更清晰,也更利于后期的维护,包括转交给别人时也更容易让人看懂,尽管这样会造成代码量的增加(代码所占的硬盘空间是非常小的,我觉的可以忽略不计)。所以我现在对代码的可重用性这个问题很困惑,我很想知道大家都是怎么看待这个问题的。
   发表时间:2009-07-23  
你现在的方法会不会造成:你的重复代码里面,有一个逻辑要修改,需要每个地方都修改的问题?

过度设计,我也不喜欢,但是一定的可扩展性是需要的,而重复代码也需要提出来的,否则修改业务逻辑是很头疼,个人观点。。。
0 请登录后投票
   发表时间:2009-07-23  
Laynepeng 写道
你现在的方法会不会造成:你的重复代码里面,有一个逻辑要修改,需要每个地方都修改的问题?

过度设计,我也不喜欢,但是一定的可扩展性是需要的,而重复代码也需要提出来的,否则修改业务逻辑是很头疼,个人观点。。。



我现在的方法基本上是有一个逻辑需要修改,只修改与这个逻辑对应的方法,而无需考虑其他与此逻辑无关的方法,以前写代码都是把几个相似的业务逻辑放到一个方法里,然后用各种属性各种判断来区分,这种时候才最怕遇到业务逻辑的变化,因为好几种业务逻辑公用一段代码,只要其中一个业务逻辑发生了改变,这段代码就要发生改变,但还不能影响其它的业务逻辑,所以不是增加了新字段就是增加了新的判断,这样只会让代码越来越复杂,这也是我不愿意提取重复代码的原因,因为某一个业务逻辑说不定那天就会发生变化。
0 请登录后投票
   发表时间:2009-07-24  
呵呵~那你原来的设计抽象的有问题的~

代码这东西没必要刻意追求形式,自己及自己的团队觉得好就行了~
0 请登录后投票
   发表时间:2009-07-24  
Laynepeng 写道
呵呵~那你原来的设计抽象的有问题的~

代码这东西没必要刻意追求形式,自己及自己的团队觉得好就行了~



恩 你说的有道理!
0 请登录后投票
   发表时间:2009-07-24  
建议看一下《重构》。这本书十分有指导意义
0 请登录后投票
   发表时间:2009-07-24  
看来你还真不是很懂设计模式,重构。多看书。
0 请登录后投票
   发表时间:2009-07-24  
简单原则就是
写了一次的怎么简单怎么来
写了另外一次感觉类似的,仍然是怎么简单怎么来
写了第三次,感觉仍然类似,123次拉出来重构一次
0 请登录后投票
   发表时间:2009-07-24  
如果用IF ELSE来重用代码,那么还没有真正的重用。

在我看来,正是因为过多的IF ELSE所以代码才应该重构,才应该考虑重用。

重构的时候适当的添加一些设计模式在里面会好一些。

不推荐《重构》这本书,推荐《设计模式与重构》

《重构》这本书讲的来说太本本了,《设计模式与重构》相对灵活一些。
0 请登录后投票
   发表时间:2009-07-24  
jansel 写道
如果用IF ELSE来重用代码,那么还没有真正的重用。

在我看来,正是因为过多的IF ELSE所以代码才应该重构,才应该考虑重用。

重构的时候适当的添加一些设计模式在里面会好一些。

不推荐《重构》这本书,推荐《设计模式与重构》

《重构》这本书讲的来说太本本了,《设计模式与重构》相对灵活一些。



重构究竟有什么作用呢?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics