自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 重构《Split Loop(分解循环)》

WHAT在循环中,一次循环做了两件事情,将循环分解,重复这个循环,每次只做一件事情 潜在问题:性能问题,如果遇到性能问题,先让代码清晰可读,让你更快找到性能优化点,再做优化 本次重构涉及的基本重构较多,主要有:Split Loop(分解循环)Extract Method(提炼方法)Inline Temp(内联临时变量)Replace Temp With Que...

2012-09-12 00:26:47 486

原创 Reverse Conditional(颠倒条件表达式)

WHAT如果只有一个then,而没有else的分支条件表达中,出现否定操作符,还算合情合理,例如:if (!someCondition()) { doSomeThingsForFalse();} 但是,如果有两个分支,否定的条件表达式在if分支,这个条件语句就会降低可读性,需要颠倒条件表达式 WHEN否定操作在前一个分支的if、then、else语句HOW...

2012-09-11 00:00:24 244

原创 Remove Double Negative(去除双重否定)

WHAT双重否定的条件语句,可以使用一个肯定的条件语句代替记住:双重否定 = 肯定 本次重构涉及到的基本重构手法: Extract Method(提炼方法)Inline Method(内联方法)Substitute Algorithm(替换算法)WHEN双重否定,虽然机器能够很好理解并正确执行,但是不符合人的自然语言习惯,且令人迷惑,降低代码可读性H...

2012-09-10 22:35:41 189

原创 Hide Method(隐藏方法)

WHAT隐藏方法是最简单、最基础的重构手法之一,当有一个public方法,没有被其他任何类用到,把这个public方法的访问修饰符改为private。 本次重构涉及到一个基本的重构手法: Rename method,也即Change Method Signiture(更改方法签名,in Eclipse) WHEN当在另一个类中去除对这个public方法的调用时...

2012-09-10 16:29:07 230

关于创建可执行的jar文件

上周四下午,放翁同学在TOP群中问了这样一个小问题,聊天记录摘录如下:有同学知道如何用maven来将第三方jar的代码也打入到生成的项目jar中?就好比eclipse可以直接将部分依赖打入到项目jar中一看到打包,对于jar类型的项目,运行mvn package,就等同于运行mvn jar:jar,那放翁同学的问题,一定是与jar插件有关了,在Maven官方网站,查阅了一下jar插...

2009-12-25 13:25:31 80

基于Spring的单元测试框架搭建及分布式数据源单元测试

 在Space 1st Apps的项目中,我们使用了基于Spring的单元测试 ,  并结合DBUnit对数据库应用程序做单元测试。其中,数据源我们使用了Oracle、MySql数据库,Oracle数据源只有一个数据库,而MySQL数据源是一个由多台MySQL数据库组成的分布式多数据源。 对于单数据源Single DataSource的单元测试用例,如果你需要在测试用例运行之前准备...

2009-07-29 15:45:53 349

MemCached基础

MemCached是什么?MemCached是一个高性能、分布式、内存对象缓存系统,官方网站:http://www.danga.com/memcached/下载地址:http://www.danga.com/memcached/download.bml目前两个版本:1.4.0 1.2.xMemCached的安装 Linux下源代码编译安装MemCached$...

2009-07-21 18:58:25 100

Maven强大的报表功能

众所周知,Maven的强大功能来源于它的强大的插件体系,而它的报表功能更是依赖于它的插件体系。下面,我们就看看报表有多么强大。首先,我们随意创建一个Maven项目,使用向导式指令,根据提示,:mvn archetype:generate运行过程中的关键数据:Define value for groupId: : com.mycompany.myapp Define value ...

2009-07-02 22:43:06 470

SecureCRT的恢复全屏问题

    今天,在使用SecureCRT的过程中,无意中选择了View菜单的Full Screen子菜单,结果窗口就变成全屏的了,查看了一下右键上下文菜单,也没有找到恢复全屏的菜单,后来想了一下,如果可以把View菜单显示出来,就可以选择Full Screen子菜单了,所以,我使用菜单View的快捷键Alt + V,这样,View菜单就显示出来了,然后再勾选Full Screen子菜单,就可以恢复全...

2009-03-25 21:00:38 371

2008精武门之WEB安全研讨会纪实

本月17、18日,我参加了由支付宝主办的“2008精武门之WEB安全研讨会”。会上,听了很多大侠的讲义,我作为一个门外客,只算是一个扫盲,虽然听不懂,但是还是仔细听完了。 首先出场的是腾讯安全中心TST(Tencent Security Team)总监杨勇,演讲主题是《互联网企业安全建设的思考》,在腾讯,具有一横一竖的产品线,组织架构有专门的安全中心,下有:应用运维、业务安全、信息安全,面对众...

2008-12-23 21:02:38 144

奇怪的String

今天上午和同事讨论String的使用,众所周知,==比较两个字符串String的引用,equals比较两个字符串包含的值,那么大家看看,下面这几个的输出结果是什么样子呢? public static void main(String[] args) { String str = "hello"; System.out.println(str == "hello"); String ...

2008-12-09 12:06:12 77

String和StringBuffer的规则和应用

在Java编程语言中,大家接触最多的,莫过于String和StringBuffer类了吧,这两个类简单到你不屑一顾,但是你在编码实践过程中真正用好它们了吗?下面是我在代码Review过程中总结出来的若干点,和大家分享一下:避免重复文字包含重复的字符串字面的代码通常可以将字符串声明为一个Constant Field得到改善,如果你使用Eclipse,请选中字符串"hello",然后选中菜单“Re...

2008-11-21 19:07:36 197

编码最佳实践系列之二

Map的迭代,使用map的entrySet,不用使用keySet (为什么?)

2008-10-23 11:35:29 85

编码最佳实践系列之一

避免空指针:/** * 判断应用是否有月租 * * @param onlineProfile * @return 有月租返回true,无月租返回false */private boolean isAppHasRent(AppOnlineProfile onlineProfile) { return onlineProfile == null ? false :...

2008-10-23 11:28:28 115

编码中日志使用规范

编码中请统一使用commons-logging包 日志声明: private static final Log LOG = LogFactory.getLog(ClassName.class); 注意:ClassName是当前类的名称;最好不要从其他类copy过来这段声明,如果忘记了更改ClassName,这样会出问题的(张冠李戴)使用之前,先做判断if (LOG.isInfo...

2008-10-23 11:19:42 164

PMD 规则集——Optimization Rules

Optimization Rules优化规则These rules deal with different optimizations that generally apply to performance best practices.LocalVariableCouldBeFinalSince: PMD 2.2局部变量只被赋值一次可以声明为final. This rule i...

2008-09-03 11:18:23 753

PMD

PMD 扫描Java源代码并且寻找潜在的问题像:可能存在的bug - 空的try/catch/finally/switch语句 Dead code - 未用过的local变量, 参数和私有方法 不最适宜的代码 - 浪费的String/StringBuffer用法 过度复杂的表达式- 多余的if语句, for循环that could be while循环 重复的代码- 复制/粘贴的代码意...

2008-09-01 14:23:31 194

Maven Help Plugin

mvn help:active-profilesmvn help:effective-pommvn help:effective-settingsmvn help:describe -Dplugin=helpmvn help:describe -Dplugin=help -Dfullmvn help:describe -Dplugin=compiler -Dmojo=compile -Df...

2008-07-24 17:30:00 90

Linux上全源码安装Apache、MySQL、PHP、WSF安装

Linux上全源码安装Apache、MySQL、PHP、WSF安装(原创)需要root权限Apache安装下载# wget http://apache.mirror.phpchina.com/httpd/httpd-2.2.6.tar.gz安装# tar zxvf httpd-2.2.6.tar.gz# cd httpd-2.2.6#./configure --prefix=/usr/...

2008-02-25 18:45:18 258

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除