何谓重构
对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提交其可理解性,降低其修改成本。
重构的目的是软件更容易理解和修改;重构不会改变软件可观察的行为。
两顶帽子比喻
添加新功能 不修改既有代码,只管添加新功能,并通过测试重构 不添加功能,只管改进程序结构
为何重构
重构改进软件设计
改进的重要方向就是消除重复代码。...
分类:
其他好文 时间:
2014-06-07 01:59:57
阅读次数:
243
1.1 Struts2
上节已讲,struts2在webwork基础发展起来的mvc框架。MVC框架相信一般码农都比较了解,这里不再重说。在这里仅仅对于一下struts1,struts2做了哪些改进呢?(以下内容从网上汇总)
Ø Struct2的action是一个请求对应一个实例(每次请求都会new出一个对象),没有线程安全方面的问题
Ø Action不再依赖servlet ap...
分类:
其他好文 时间:
2014-06-05 10:06:25
阅读次数:
261
本文来自于NoSQLFan联合作者@koven2049,他在淘宝从事Hadoop及HBase相关的应用和优化。对Hadoop、HBase都有深入的了解,本文就是其在工作中对HBase的应用优化小结,分享给大家。
目 录 [ - ]
前言原因应用情况部署、运维和监控测试与发布改进和优化将来计划
前言
hbase是从 hadoop中分离出来的apache顶级开源项目。由...
分类:
其他好文 时间:
2014-06-05 08:43:04
阅读次数:
275
重构概览
所谓重构(refactoring)是这样一个过程:在不改变代码外在行为的前提下,对代码做出修改,以改进程序的内部结构。
摘要
如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便地达成目录,那就先重构那个程序,使特性的添加比较容易进行,然后再添加特性。
代码块愈小,代码的功能就愈容易管理,代码的处理和移动也就愈轻松。
Extract Method ...
分类:
其他好文 时间:
2014-06-05 08:02:00
阅读次数:
276
注意:
1 判断一个节点是否平衡的方法
2 平衡一个节点的方法 :
我这里比原文改进一点,独立出一个平衡节点的函数balanceNode(),这样一个函数可以用来平衡插入和删除操作,使得代码更加简洁了。
这样修改之后就使得平衡二叉树好像和一般二叉树的操作比较,就是多了一个平衡操作。
3 删除操作情况很多,很困难,一定要理清思路。十分容易出bug的地方。
这里是查找后继节点的值,填补上到...
分类:
其他好文 时间:
2014-06-05 05:16:45
阅读次数:
261
最近就只有早起做题,做完就上课,周六日可以做些恶心点点的,平时要上课就只有做做DP,数学题什么的了。
HDU1006,十分恶心的一题,实际上我还不是很懂,看着kuangbin大神的代码基本对着拍,没有什么改进。
题目的意思就是时钟里有三条针,时分秒针,两两超过D度就开心,问一天有百分只几是开心的。
思路就是:模拟,区间交,关键,精度问题,这个针算是连续的~不是60秒动一下分针!
/**...
分类:
其他好文 时间:
2014-06-05 03:55:28
阅读次数:
195
今天下午在看vlc 播放器的源码的时候,发现里面有一些特殊的注释信息,
比如: FIXME, 而且在eclipse中其颜色是不同的,所以我上网搜索了一下,发现一些特殊的注释
1 TODO eclispe中自动生成的部分代码也会有这个问题,比如try catch。意思是有待完成。
2 FIXME 代码中需要修改或者有待改进的代码
3 XXX 错误的代码,需要改正的...
分类:
其他好文 时间:
2014-06-05 01:26:33
阅读次数:
208
议题:快速排序算法实现之三(三路划分遍历,解决与划分元素相等元素的问题)分析:算法原理:使用三路划分策略对数组进行划分(也就是荷兰国旗问题,dutch
national flag problem)。这个实现是对实现二的改进,它添加处理等于划分元素的值的逻辑,将所有等于划分元素的值集中在一起,并且以后...
分类:
其他好文 时间:
2014-06-03 09:51:51
阅读次数:
386
Vim7.4对正则表达式做了持续的改进,搜索速度提高显著。下面是我编译打包的最新版Vim7.4.316,包含补丁1-316。并且在编译的时候尽量开启了对LUA/Python/Tcl等脚本的支持,目前的安装包可以完美的配合NeoComplete使用。欢迎下载使用。下载地址:百度云
gVim7.4.31...
分类:
其他好文 时间:
2014-05-31 15:17:05
阅读次数:
252
一个集中的日志系统,第三方应用每次写日志,都需要发送一个远程的rpc或者http请求,造成写日志的延时比较大。改进的做法是:提供一个写日志调用包,第三方应用写日志时,先把日志缓存到一个线程安全的容器里,然后后台线程实时消费容器内的日志,如果有持久化的需求,就可以实时的把日志flush到文件中,然后再...
分类:
其他好文 时间:
2014-05-31 13:13:20
阅读次数:
290