- 浏览: 224197 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (212)
- 架构师-01-文档目录 (3)
- 架构师-02-组织 (7)
- 架构师-03-实施 (35)
- 架构师-04-监督 (14)
- 架构师-05-工具 (29)
- 架构师-09-引用文集 (63)
- 专题-01-微博应用 (5)
- 专题-02-GoogleEarth (1)
- 专题-03-运行维护 (9)
- 专题-04-经纪人营平 (3)
- 专题-05-RCP&RAP (5)
- 专题-06-框架PK (3)
- 专题-07-Android (13)
- 专题-08-UI (3)
- 专题-liferay6 (6)
- 专题-extjs4 (3)
- 专题-CXF (3)
- 专题-封闭网络的社会化 (0)
- 扯谈 (4)
- 外包 (9)
- 专题-C++ (4)
- 专题-09-BI (2)
- jquery&easyui (2)
- 专题-搜索引擎 (1)
最新评论
-
brighter:
oMapper.configure(Deserializati ...
jackson 抛出 bean 中没有定义字段的错误,只好用 gson -
PassFeed_free:
public Bitmap decode(ImageDecod ...
android universalimageloader 几点改进 -
PassFeed_free:
楼主你好, 请问这个库, 在大屏显示高清图片 ,listvie ...
android universalimageloader 几点改进 -
yonghong:
楼主只是揣测
JIRA4.1 升级到 JIRA5.1 -
abdxj:
"Could NOT parse license t ...
JIRA4.1 升级到 JIRA5.1
无论如何,代码在最终封箱打包前,一定要复审一下下才放心。
自己复审自己的代码,基本上是个笑话;交给同事复审自己的代码,太多沟通代价;交给上司复审自己的代码,比高考还焦虑。
交给工具软件才是正途,CodePro Analytix 被 Google 收购后,就让生活变得美好许多了。
网上 K 的一段规则:
==============================================
注意:
在用CodePro检查代码前最好在代码中用ctrl+shift+f 让eclipse自动为代码格式化一遍。
(灰色部分为暂时不执行部分)
1. Append String:
1) String literal can be replaced by a character literal:单个字符用’ ’来取代使用” ”
错误:sb.append(“a”);
正确:sb.append(‘a’);
2.Badly Located Array Declarators:
1) Badly located array declarators:
File filesNodeB[] = ServiceAccess.getSystemSupportService().getFiles(fileName)
数组的声明符放在类型后面不要放在变量后面
正确:File[] filesNodeB = ServiceAccess.getSystemSupportService().getFiles(fileName)
3. Boolean Method Naming Convention:
1) Invalid method name: "isWriteAccess" should not be prefixed with 'is':
自定义的非Boolean方法名,前缀建议不要命名为is开头,is开头的方法名是为Boolean方法保留的
错误:public int isWriteAccess(Object obj)
正确:public int writeAccess(Object obj)
4. Caught Exceptions:
1) Disallowed exception caught: Exception
catch (Exception e) 这样的异常最好能定义成更加详细的异常
5. Constant Field Naming Convention:
1) Invalid constant name: "NeInfoAttrNames" contains lowercase letters
用finall修饰的是常量 名字要全大写
错误:private final static String[] NeInfoAttrNames
正确:private final static String[] NEINFOATTRNAMES
6. Constants in Comparison :
1) Constant on right side of comparison: 在比较的时候,不变的部分应放在比较的右边。
错误:if (this.listeners == null)
正确:if (null == this.listeners)
7. Dangling Else:
1) Dangling else clause 不规范的else写法,if,else 中只有一条语句也要加{}.
错误:else
return null;
正确:else {
return null;
}
8. Define Load Factor:
1) Define the load factor of Hashtable instances:hashtable支持线程同步相对来说比较耗系统资源 在定义的时候最好把它的大小和装载因子都定义出来;
例子:filterMap = new Hashtable(32, 0.75f);
9. Declared Exceptions:
1) Disallowed exception declared: Exception
public void init() throws Exception这样的异常最好能定义成更加详细的异常
10. Define Initial Capacity:
1) Define the initial capacity of StringBuffer instances:
在定义ArrayList,HashMap, HashSet, Hashtable, Vector, WeakHashMap, 'StringBuffer的时候最好定义初始的容量。
错误:StringBuffer sb = new StringBuffer();
正确:StringBuffer sb = new StringBuffer(32);
11. Document Closing Braces:
1) Undocumented closeing brace:在if ,else等语句结束后应该在”}”后面加 // end if
正确:if (null == this.listeners) {
return;
} // end if
12. Empty Catch Clause:
1) Empty catch clause for exception 空的chatch语句
13. Exlicit“this” Usage:
1) The keyword “this” is unnecessary: this 在语句中是多余的
14. Field Javadoc Conventions:
1) Missing Javadoc comment for field:缺少JAVA文档注释
15. Hiding Inherited Fields:
1) Field hides field inherited from RuntimeException:
private static final long serialVersionUID = -2945178819756838045L; 直接删掉这句
16. Import Order:
1) Import out of order: 从未用到导入的类
17. Instance Field Naming Convention:
1) Invalid field name: " _ _Table" starts with an underscore 错误的命名
错误:private Hashtable _ _Table = new Hashtable(200);
正确:private Hashtable _Table = new Hashtable(200);
18. Method Javadoc Conventions:
1) Empty @return tag in getValues 在getValues方法的注释中@return标记的内容为空
2) Missing Javadoc comment for method:缺少方法的注释
19. Missing Block:
1) Missing block in if clause:if 语句缺少 {}
错误:if(null == item)
return 0;
正确:if(null == item){
return 0;
}
20. Modifier Order:
1) Incorrect modifier order: "static" should appear before "final": static应放在final的前面
错误:private final static String SViewName = "SnmpMocView";
正确:private static final String SViewName = "SnmpMocView";
21. Platform Specific Line Separator:
1) Use of a platform specific line separator:
并不是所有系统都支持“\n”使用System.getProperty("line.separator") 来取代它
22. Questionable Assignment:
1) Questionable method parameter assignment : 可疑的参数分配
23. Statement Creation:
1) Invalid SQL statement creation:创建createStatement()应该用预编译语句
错误:stm = con.createStatement();
正确:stm = con.prepareStatement();
24. Synchronized Method:
1) Use of synchronized modifier: synchronized:修饰苻不要放在方法名前面 容易让人忽略修饰苻的存在,最好是放在要修饰的语句快中。
错误:public synchronized String getName() {
...
}
25. Static Field Naming Convention:
1) Invalid field name: "segService" starts with lowercase letters。静态变量名第一个字母为大写
错误:private static SnmpExtGuiService segService;
正确:private static SnmpExtGuiService SegService;
26. Return Boolean Expression Value:
1) An if-statement always return true or false:
错误:if (index >= 0)
{
return true;
} else
{
return false;
}
正确:return index >= 0;
27. Questionable Name:
1) Short name found: 命名太短
28. Type Javadoc Conventions:
1) Missing @version tag for type BaseSnmpSyntag:在注释中缺少@version 标记
2) Missing @author tag for type :在注释中缺少@author标记
29. Unnecessary Exceptions:
1) Unnecessary declaration of Exception:不必要的异常
30. Unnecessary Import Declarations:
1) unnecessary Import 多余的Import语句
31. Use equals() Rather Than ==:
1) Should not compare values using the equals (==) operator
比较值的时候用“==”不是总是准确的(根据具体情况来执行equals()方法效率没==高)
错误:if(cls = = G828.class)
正确:if(cls.equals(G828.class))
32. Unnecessary Return Statement Parentheses:
1) Unnecessary parentheses around the expression in a return statement:
在return语句中没有必要的”()”
错误:return (obj != null);
正确:return obj != null;
33. Variable Usage:
1) Variable assigned to but not referenced:从没读取过的变量(建议小心删除)
34. Use Compound Assignment:
1) Use compound assignment:
错误:Pos = Pos + 1;
正确: Pos += 1;
这样写可以使代码简单化
发表评论
-
Eclipse小工具集
2013-12-30 00:15 431Eclipse皮肤:酷炫黑色,更Geek!转自http:// ... -
两个好用运营监控工具
2013-04-01 16:48 0手机版本: http://demo.cobub.com ... -
腾讯内部用于软件原型设计的专用工具UIDesigner
2013-02-03 15:46 1027原文出自:http://www.webppd.com/thr ... -
抽取 Axure 设计输出到开发工作单
2013-02-03 10:03 0基于原型开发不是什么新鲜事,也一直被广泛应用于软件开发工作 ... -
PM-基于Axure的PRD写作思考
2013-02-01 15:54 680原文出自:http://blog.renren.com/sh ... -
arc-04-10-手机应用的性能测试
2013-01-05 15:01 668手机性能测试的工具一大堆,但专门针对开发手机应用的性能测试工 ... -
支持拼音和五笔的js软键盘,仿iphone风格,神一样的大作
2012-11-10 11:37 1752原文地址:提供一款支持拼音和五笔的js软键盘,仿iphone风 ... -
JIRA4.1 升级到 JIRA5.1
2012-07-26 10:50 3087(1)升级过程理应很简单,用网上的破解指南一步步安装,很快就成 ... -
arc-04-09-简单的性能调优
2012-07-05 16:45 718<%@ page contentType="t ... -
Arc-05-23- JIRA 的多种用法
2012-04-01 09:19 0每个使用 JIRA 的组织似乎都有不同的用法,有的作 bug ... -
生成器汇总
2012-02-23 09:59 0MinuteProject http://minutepro ... -
Arc-05-21- AmaterasUML--自动生成UML图的Eclipse插件
2012-01-09 17:49 2020想选择一款免费或者破解的 eclipse 生成工具,比较了一大 ... -
Arc-05-20- Minimal Centos6.2 安装 vmware server
2012-01-07 13:50 1404Minimal Centos6.2 安装 vmware ser ... -
Arc-05-19- 数据库设计总结
2011-12-28 10:33 774以下几条经验从别处 K 来的,我也比较认同。 1 ... -
Arc-05-18- Regain 给内部文档站点嵌入内部搜索功能
2011-12-22 10:23 839公司内部有不少文档站点了,wiki,api,bbs... 使用 ... -
Arch-05-17-UltraEdit for linux 不断试用30天的方法
2011-12-08 16:27 1001原文来自:http://space.itp ... -
Arch-05-16- Maven3+Tomcat7
2011-11-24 10:24 1165maven3+tomcat7 外部启动 tomcat 和嵌入启 ... -
Arch-05-14- MongDB 客户端工具MongoVUE
2011-10-19 11:30 3877MongoDB 客户端工具已经有不少了,其中 Mong ... -
Arch-05-13- maven常见问题问答
2011-08-29 14:10 859maven常见问题问答 http://www.cnblo ... -
Arch-05-12-JQuery 模板引擎 tmpl 中使用 ${value}和 freemarker 中的符号冲突
2011-07-04 14:34 1291Arch-05-12-JQuery 模板引擎 tmpl 中使用 ...
相关推荐
"OSX-Arc-White-v1.3.7.tar.gz" 是一个专为Gnome桌面环境设计的苹果风格主题的压缩包文件,旨在将苹果Mac OS X的美观界面风格引入Linux世界,尤其是那些喜欢苹果简洁、优雅设计的Gnome用户。 首先,我们要了解Gnome...
**dcm4chee-arc-5.22.1-mysql.zip** 是一个与医疗影像管理和归档相关的软件包,它是 **dcm4che** 开源项目的一个组件。dcm4chee 设计用于满足 **IHE (Integrating the Healthcare Enterprise)** 的规范,这是一个...
"Arc-u-boot-1.1.3-20060612.tar.gz" 是一个软件包的名称,其中包含了特定版本的U-BOOT(即1.1.3)针对ARC CPU的定制实现。"ARCU CPU"可能是"ARC User Bootloader"的缩写,是为ARC处理器设计的引导加载程序。"arc600...
3D-arc-robot-vision.zip,麻省理工学院普林斯顿视觉工具箱,用于在2017亚马逊机器人挑战赛中进行机器人拾取和放置-机器人抓取和一次识别具有深度学习的新物体。,3D建模使用专门的软件来创建物理对象的数字模型。它是...
在实际使用arc-py库时,你需要先解压缩文件,然后通过Python的pip工具安装,或者直接在项目的环境中添加库的源代码路径。安装完成后,就可以在你的Python代码中通过`import arc_py`来使用它提供的功能。 为了深入...
这种命令行界面使得arc_conv能够轻松集成到自动化工作流中,方便批量处理任务。 arc_conv的压缩包文件名称列表中仅包含"arc_conv-master"这一项,这可能意味着这是项目的主分支或者是最主要的版本。在开源项目中,...
- **Arc-Mate 100iC 系列提供了极大的工作范围**,适用于大型零件或复杂的工具。 - **极快的手腕轴速度**:减少了空切时间,从而提高了生产率。 #### 尺寸和规格 Arc-Mate 100iC 系列具有以下主要规格: - **工作...
arc-flatabulous-theme, 带有Flatabulous窗口控件的arc 主题 arc-flatabulous主题arc Flatabulous主题是带有 Flatabulous 窗口控件的 arc 主题。 arc-flatabulous可以用于三种变体 arc-flatabulous Arc-Flatabul
"弧长法"(Arc-length method)是一种常用的数值方法,用于解决非线性问题,特别是涉及结构稳定性的计算。在MATLAB环境中,可以利用编程来实现这一方法。本压缩包中的"Arc-length.rar"包含了两个关键的MATLAB脚本...
总之,ICOM ARC-20作为一款专业的电台控制软件,为用户提供了强大的功能和高度的自定义性,是业余无线电爱好者提升操作体验和提升技能的有效工具。通过不断学习和实践,用户可以充分利用这款软件的功能,更好地享受...
Arc-1.37.0-48361
此外,dcm4chee-arc-logstash.xml文件可能用于日志收集和分析,这是系统监控和故障排查的重要部分。Logstash是一个强大的日志管理和分析工具,它可以将dcm4chee的运行日志收集并转发到中央的日志存储,以便进行实时...
"Atom-atom-arc-dark-ui,arc dark"是针对Atom编辑器的一个UI(用户界面)主题,设计风格为深色系,旨在提供舒适且对眼睛友好的编码环境。这个主题由Lioneil为Atom社区贡献,增加了编辑器的美观性和个性化选择。 在...
NX二次开发UF_CURVE_LINE_ARC__is_arc_equal 函数介绍,Ufun提供了一系列丰富的 API 函数,可以帮助用户实现自动化、定制化和扩展 NX 软件的功能。无论您是从事机械设计、制造、模具设计、逆向工程、CAE 分析等领域...
《PyPI官网下载 | ARC-Alkali-Rydberg-Calculator-2.1.2.tar.gz》 本资源是PyPI(Python Package Index)官方提供的一个软件包,名为"ARC-Alkali-Rydberg-Calculator",版本号为2.1.2,其以.tar.gz的压缩格式提供。...
在IT领域,"arc_length.rar_ARC length_NJ2F_arc-length_arc_length_shakebt2"这个标题可能指的是一个关于弧长参数化方法的压缩文件,其中包含了与弧长编码(Arc-length coding)相关的资料。描述中的"Arc-length ...
arc-theme, 具有透明元素的平面主题 arc-主题微软的arc 3和 GNOME 2的透明元素,支持 GTK 3和 GNOME shell,支持基于GTK的桌面环境,如 GNOME,Unity,Budgie,万神庙,Xfce,MATE等等。 arc-可用三种变体 arc
标题中的“arc-rimi.rar_linux arc”表明这是一个与Linux操作系统下的ARCnet网络驱动程序相关的压缩文件,特别是针对“RIM I”(完全内存映射)卡片的驱动。ARCnet是一种古老的局域网(LAN)技术,最初在1980年代...
标题中的"PyPI 官网下载 | bio-arc-0.1.0.tar.gz"表明这是一个在Python Package Index(PyPI)上发布的软件包,名为`bio-arc`,版本为0.1.0,其分发形式是tar.gz压缩文件。PyPI是Python开发者发布自己软件包的官方...
arc-engine9.3最完整许可文件License,其中包括了最完整控件(map,sence等)的许可,没有时间限制,完全破解,是AE开发者必备文件!