| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 673 人关注过本帖
标题:有会软测和重构的吗?
只看楼主 加入收藏
live410000
Rank: 1
等 级:新手上路
帖 子:209
专家分:0
注 册:2005-1-24
收藏
 问题点数:0 回复次数:8 
有会软测和重构的吗?

重构会不会牺牲很多资源?

搜索更多相关主题的帖子: 重构 资源 牺牲 
2006-10-28 23:16
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
不会,一点点.

飘过~~
2006-10-29 02:03
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 
你说的重购是啥?

[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-10-29 14:44
Soil
Rank: 1
等 级:新手上路
帖 子:206
专家分:0
注 册:2006-2-18
收藏
得分:0 
refactoring

2006-10-29 15:07
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 
just design patten

everyone has done it

[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-10-29 15:21
Soil
Rank: 1
等 级:新手上路
帖 子:206
专家分:0
注 册:2006-2-18
收藏
得分:0 
not everyone follow the regular of it.

2006-10-29 15:25
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 

you are right
because they don't know the mean of the name


[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-10-29 15:28
Soil
Rank: 1
等 级:新手上路
帖 子:206
专家分:0
注 册:2006-2-18
收藏
得分:0 
其实我也是才了解的,看了下规则,规则名是很难记住,不过其实里面提到的意思也不过是一些编程习惯而已

很多人其实已经在dp,只不过他们都在遵循自己的dp,而国际上有一套标准的dp

2006-10-29 15:40
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 

代码重构简介

一.重构原则

1.重构的定义

重构(名词):对软件内部结构的一种调整,目的是在不改变"软件之可察行为"前提下,提高其可理解性,降低其修改成本.

重构(动词):使用一系列重构准则(手法),在不改变"软件之可察行为"前提下,调整其结构.

两种定义都强调是在不改变"软件的外部行为"前提下,不改变"软件之可察行为"就是说让修改不影响外部使用程序(程序员),在个外部来看,程序的行为和结果没有任何的变化.重构只是对程序内部结构进行调整,让代码更加容易理解,然后更容易维护.

2.重构的好处

能改进软件设计

使软件更容易被理解

能帮你找到bug

提高软件的开发速度

3.什么时候进行重构

三次法则:事不过三,三则重构.意思是说,一件事情,第一次只管去做,第二次做类似的事情会产生反感,但无论如何还是做了,第三次再做类似的事情,你就应该重构.

在添加新功能时进行重构.

在修改bug时进行重构

在代码复审时进行重构.

4.为什么重构有用

难以修改的程序具有以下特征:

难以阅读的程序,难以修改

逻辑重复的程序,难以修改

添加新行为时需要修改现有的代码,难以修改

带复杂条件逻辑的程序,难以修改

好的程序应该是:

容易阅读

所有逻辑都只在惟一地点指定

新的改动不会危及现有的行为

尽可能简单的表达条件逻辑

5.间接层和重构

间接层的存在的价值:

允许逻辑共享

分开解释意图和实现

将变化加以隔离

将条伯逻辑加以编码

但是过多的间接层会导致代码的层次太深,使代码难以阅读.因些要权衡加入间接层的利弊.

6.重构的难题

关系数据库与面向对象编程的问题:在对象模型和数据库模型之间插入一个分隔层,这就可以隔离两个模型各自的变化.升级某一模型时无需同时升级上述的分隔层即可.这样的分隔层会增加系统复杂度.但是能增加灵活度.

修改接口的问题:修改已发布的接口,因为已发布的接口会供外部人员(其它公司)使用,因此,修改接口会导致引用接口的其它程序不修改程序就无法运行.修改接口的最好的办法是增加一个新的接口,让旧接口调用新接口.这样原来的程序就不用修改了.对于接口的另一个建议是心尽量不要发布接口.

7.什么时候不进行重构

现有的程序无法运行,此时应该是重写程序,而不是重构

程序到了最后的交付期限

8.重构与设计

重构与设计是互补的,程序应该是先设计,而在开始编码后,设计上的不足可以用重构来弥补.设计应该是适度的设计,而不必过度的设计.如果能很容易的通过重构来适应需求的变化,那么就不必过度的设计,当需求改变时再重构代码.

9.重构与性能

提高性能的三种方法:

时间预算法:在设计时就对程序花费的时间进行预算,通常用于性能要求极高的实时系统.普通的企业应用程序一般对性能要求不高.只要不太慢就可以了.

持续关注法:要求程序员在任何时间都要设法保持系统的高性能.这个方法有个缺陷,就是大部分的程序90%的优化工作都是白费劲,这样会浪费大量的时间.

良好的分解方式:这个方式是在开发程序阶段不对性能投以任何关注,直到进入性能优化阶段,再分析程序中性能差的程序,然后对这些程序进分解,查出性能差的程序,进行优化.


飘过~~
2006-10-29 18:12
快速回复:有会软测和重构的吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026788 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved