explore shanghai metro
记录&推荐一个查地铁交通图的好地方。
http://www.exploreshanghai.com/metro/
记录&推荐一个查地铁交通图的好地方。
http://www.exploreshanghai.com/metro/
工作累了,看了几篇文章,摘录几点备忘 。
和别的任何开发任务一样,重构任务(以及其他“技术债”类型的任务)也应该符合INVEST的标准:彼此独立(Independent),可讨论(Negotiatable),有价值(Valuable),可估算工作量(Estimatable),足够小(Small),可测试(Testable)。尤其是,它们的工作量应该得到估算,它们应该按照业务价值排列优先级。因为归根到底,重构(以及其他任何开发任务)都归结为“花在代码上的成本”与“对业务创造的价值”之间的权衡。
重构是现代开发的一项利器,因为它同时满足现代开发的核心思想:正交性(做一件事情不会影响到另外一件)、小步快跑(人的大脑在处理多头绪的事情时效率不高,多头绪的事情要分解成大脑最擅长处理的单头绪)、实用优于优雅(不过多考虑将来的事情,用最简单明了的方法解决当前的工作)。
重构的着眼点主要在于两个方面:一是系统相关的重构,一是文件相关的重构。系统相关的重构即是对于整个系统的系统逻辑和系统架构进行思考和改造,而文件相关的重构则是对于文件内部的逻辑和结构进行重组和修改。当然系统相关的重构必然包含着文件相关的重构,但是在实际的重构活动中大多数进行的则是文件相关的重构。
重构的具体方法主要包括:
1、文件的重构:主要包括文件的命名,文件中相关的类的分布
2、包的重构:主要包括包的命名,包中所包含的类的分布
3、接口的重构:主要包括接口的命名,接口中域的抽象以及方法的抽象
4、类的重构:主要包括类的命名,类的主要目标与其所包含的方法十分对应的,域的抽象是否合理等。
5、方法的重构:主要包括方法的命名,方法的名称与其功能的对应,方法的功能抽象是否合理,方法的参数十分合理,方法的返回参数是否合理。
6、域的重构:主要包括域的命名,域的抽象是否合理
7、内部类的重构:是否有必要将内部类抽取为一个单独的外部类
8、语句的重构:这就包括各种具体的代码语句,而且和具体的语言还有较大的关系。
所以,代码的重构需要相当多的经验积累,而且不要为了重构而重构,在重构之前还必须考虑付出成本和重构收益之比,以决定是否有必要进行软件重构。
————————–
《对遗留系统组织重构项目》
http://blog.csdn.net/gigix/archive/2008/02/25/2118896.aspx
《代码重构--实践家的快乐游戏》
http://blog.csdn.net/lomo/archive/2004/08/02/58598.aspx
《一次滴血的重构经历》
http://english.zhuaxia.com/item/234871993
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « Apr | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | |||
除非特别注明,本站采用 署名-非商业性使用-相同方式共享 2.5 授权条款授权, 欢迎转载但必须保留到buyaoa.com的超文本链接。