- 浏览: 103035 次
- 性别:
- 来自: 北京
-
最新评论
-
vera_sq:
怎么得到的总是null呢?
关于Class.getClassLoader()空指针. -
729251283:
你的这种做法对吗?用你的方法不成功 。
maven tomcat结合,热部署,调试 -
mouer:
需要开启snmp
基于SNMP和JRobin的监控 -
liliugen:
跑步起来的代码,。无用
基于SNMP和JRobin的监控
Nutz Java 编码规范 (V1.0)
By:zozoh<zozohtnt></zozohtnt>
0. 规范的规范
- 本规范的每一条目必须无二义性,并且可执行。否则作废
- 本规范的条目分为两个级别:
- 规则 - R
- 建议 - S
- 本规范所有的“规则”条目必须被遵守
1. 代码格式
-
R-使用统一的 Eclipse 的代码格式: code.google.com/p/nutz/source/browse/trunk/doc/eclipse/nutz-eclipse-java-code-format-1.0.xml
- 请从 svn 的 trunk/doc/eclipse/nutz-eclipse-java-code-format-1.0.xml 获得此文件
-
S-非 Eclipse 用户请阅读上述 XML 代码自行遵守
- 基本上我们没有为非 Eclipse 用户指定规范,我们还没有一个好办法
2. 命名
2.1 包
-
R-包名必须全部小写,2个以内单词。
- S-最好为 1 个单数名词
- R-所有项目的包要以 “org.nutz” 为父 包 。
2.2 类和接口
- S-最好为名词
- R-命名类和接口时,需要将所有单词的首字母大写。
- R-接口的命名不采用首字母为 I 或加上 IF 后缀的命名方式 。例 如 :IBookDao 、 BookDaoIF 等 。
- R-抽象类必须使用 Abstract 作为类名的前缀,而接口建议使用 Interface 作为 接口名后缀。
- R-异常类应该使用 Exception 做为 名称 后缀。
- R-如果是运行一次就抛弃的类,以 ing 结尾,比如Rendering
-
R-类名尽量短,但是最好不要缩写,如果缩写,必须为特别常用的类,比如 org.nutz.dao.Cnd
- 因为调用者书写你的类名太长,他(她)的IDE会自动替他(她)换行,他会觉得有点不爽
-
R-不要和 Java 的标准库中的类名冲突,比如 Class, Object, String 等
- 如果冲突,就表示你极其藐视 Java 标准库中的那个的设计
- 调用者需要花更多的时间和代码来明确他使用的是你的类, 而不是标准库中的那个
-
S-以下情况可以允许写奇怪类名 -- 名称简短,让人一眼不知道什么意思,用了以后一眼就能知道什么意思
- 类特别常用
- 类非常特殊,难以归类
- 私有类或内部类
- 不推荐其他人调用的 公有、保护、默认类
- 起个奇怪的名字,就是不想让你关心这个类的代码
-
R-缺省接口实现应该使用 Default 名称 前缀 。例 如 : DefaultEntityMaker。
- 也可以采用 Impl 作为后缀,表示这个实现为此接口的最优实现或者唯一实现
2.3 成员变量
- S-最好为单数名词
- R-能 private 就不要 default,能 default 就不要 protected,最好不要 public
-
R-如果是集合或数组,用复数名词
- Map pets, 比 Map petMap 要好
- R-不要用一个字母,尤其是 i,你可以用 index 或者 cursor 来代替
2.4 常量
- R-命名常量(带有 final 修饰符的域)时需分隔。如 : public final int MAX_VALUE = 30 。
2.5 局部变量
- R-局域变量名要尽量短,推荐用缩写,比如 StringBuilder sb
- R-总的来说局部变量请随意命名,越短越好
2.6 成员函数和静态函数
- R-除了 setter / getter,其他的函数采用动词或者动名短语
-
S-以下情况可以允许写奇怪函数 -- 名称简短,让人一眼不知道什么意思,用了以后一眼就能知道什么意思
- 函数特别常用
- 函数非常特殊
- 私有函数或默认函数
-
S-支持链式赋值的 setter 允许写成 ,并且也可以支持同名 getter
// Setter public Pet name(String name){ this.name = name; return this; } // Getter public String name(){ return this.name; }
3. 注释
- R-注释必须和代码保持同步 。
- R-注释中的第一个句子要以(英文)句号、问号或者感叹号结束。 Java成工具会将注释中的第一个句子放在方法汇 总表和索引中。
-
R-如果注释中有超过一个段落,用
标签 分隔。
-
R-如果注释中有多个章节,用
标签声明每个章节的标题。
-
R-如果注释需要换行,用
标签。 - R-示例代码以 包裹。
3.1 类 Java Doc
- R-要著名作者,格式为 @Author XiaoMing(xm@gmail.com)
- R-继承的方法可以省略注释,但是被继承方法必须有注释。
3.2 函数 Java Doc
- R-简单的 get/set 方法可以省略注释。
- R-继承的方法可以省略注释,但是被继承方法必须有注释。
3.3 字段 Java Doc
- R-没有更多说明了
3.4 函数内部注释
- R-行注释和块注释都是可以被接受的
- R-不要写 JAVA DOC,没意义
- R-代码质量不好但能正常运行,或者还没有实现的代码用 “ //TODO: ”
-
R-在 if ... else .. 分支上做注释格式应该如下:
// comments for case A if(xxxx){ //TODO you code here } /* * Multipline comments for case B */ else if(xxxxx){ //TODO you code here } // comments for default case else{ //TODO you code here }
4. 编程
- R-你的每一次提交,必须都是编译通过的
-
R-你的每一次提交,最好都是通过 JUnit 测试的
- 除非有特别的情况 -- 比如你要和其他人分享的修改
-
R-无论任何时候,同样的功能,一段更短的代码,总比更长的代码要好
- 这里的“短”,主要指的是“逻辑”短,而不是“字符长度”短
- R-删掉一段代码的贡献,比增加一段代码的贡献要大,至少不比它小
-
R-避免过度设计
- 先让代码能工作,然后重构成为优美的代码
- 你需要知道,“接口”固定了架构,“类” 不是,当它进化为接口的时候就固定了
- 代码结构设计请遵循《草坪原则》
5. 单元测试
-
R-用例名请用 "长名" - 一句话,用下划线_代替空白
- 通过这个名字,基本可以了解测试是干什么的
- R-主要接口和实现类要尽可能多的被用例覆盖
发表评论
-
HotSpot是什么
2011-03-24 18:00 16021. HotSpot历史 SUN的JDK版本从1 ... -
Java.*和javax.*以及com.sun.*
2011-03-24 17:54 2032java.* 是j2se的标准库,是java标准的一部分,是对 ... -
关于Class.getClassLoader()空指针.
2009-10-12 14:11 1558ClassLoader cl = XXX.class.getC ... -
线程的异常捕获(非线程组方式)
2009-12-02 09:36 1420由于线程的种种特性,有时候我们不能捕获线程所抛出的异常,如下情 ... -
web页面代码关键字着色(类似于CSDN的插入代码)
2009-12-04 13:33 1314一直以来觉得CSDN和JAVAEYE的代码关键字着色很神奇.. ... -
Log4j配置文件
2009-12-04 14:54 817#%p 输出优先级,即DEBUG,INFO,WARN,ERRO ... -
对象池化技术(1)--为什么要使用
2009-12-14 14:18 974网上的转帖很多,其中我 ... -
对象池化技术(2)--一个简单的实现(基于apache的commons-pool)
2009-12-16 16:39 1579这几天没事的时候都在自己写池的通用方法..今天测试了下,性能超 ... -
Proxy模式以及java动态代理实现
2009-12-24 16:28 879一. Proxy模式定义: 为其他对象提供一种代理以控制这个对 ... -
ArrayList的初始化(可用作其他集合类)
2009-12-30 14:28 668public class Test { public ... -
基于SNMP和JRobin的监控
2010-01-05 19:47 847SNMP4J模拟SNMPGET public class S ... -
java线程死锁例子
2010-01-10 11:12 879public class DealLockTest imple ... -
java.util.concurrent下线程池总结(1)
2010-02-08 09:35 751首先,看下总的结构: Executors类,提供了一 ... -
java.util.concurrent下线程池总结(2)
2010-02-08 09:36 937生命周期: ExecutorService扩展了Execut ... -
终止程序(exit() and halt())
2010-03-11 05:50 1316public class Main extends Threa ... -
线程中断.
2010-03-12 02:14 636昨天试了试线程中断...代码如下: public cl ... -
JAVA获取CLASSPATH路径
2010-05-10 10:47 800ClassLoader提供了两个方法用于从装载的类路径中取得资 ... -
传统socket举例--基于io
2010-05-10 15:34 754教程网上多的是,直接上代码.. ServerMain.j ... -
[jdk1.4]socket举例--基于nio
2010-05-12 11:51 1189直接上代码,后续文章会有io,nio比较.. Serv ... -
nio和io的服务器端比较
2010-05-13 14:46 8301.) io: 传统的io,JDK1.4以前:即当程序执行 ...
相关推荐
本程序通过selenium库和random库调用Google Chrome浏览器模拟人的手工操作,通过在关键词查询框里随机输入关键词、并设置键入的时间间隔模拟人的输入行为,然后再控制浏览器随机翻页,真正像普通人一样操作浏览器规避亚马逊的防爬虫机制。根据预定的关键词列表查询产品,然后通过BeautifulSoup解析查询结果获取亚马逊产品的价格、标题、ASIN、评论等信息,并将这些产品保存为本地csv文件,方便在Excel里分析处理。
微信诗词鉴赏小程序【基于微信小程序的在线诗词鉴赏平台】是一个以微信小程序为载体,专注于古代诗词鉴赏的项目 此项目旨在打造一个便捷、全面的移动端诗词学习与交流平台,让用户能够随时随地沉浸在中华
【毕业设计】Python的Django-vue的摄影交流平台源码(完整前后端+mysql+说明文档+LW+PPT).zip
基于Matlab Simulink的三相两电平逆变器矢量控制系统的仿真波形动态分析及其性能优化研究报告,基于Matlab Simulink仿真平台下的两电平逆变器矢量控制系统动态分析及其波形研究,基于Matlab Simulink的两电平逆变器矢量控制系统的仿真波形的动态分析 不,需要的资料,文档有 ,基于Matlab; Simulink; 两电平逆变器; 矢量控制系统; 仿真波形; 动态分析,基于Simulink的逆变器矢量控制系统动态仿真分析
【达摩老生出品,必属精品,亲测校正,质量保证】 资源名:FinsDLL文件及调用手册 资源类型:程序源代码 源码说明:本人依据 Omron 通讯手册 编写的.DLL 使用 C# 开发 可以实现 对 OMRON PLC 内部寄存器 D区 M区 CIO区 HR区 字 。位 的 读写操作 以及 AR 区 字、位的读操作。使用方便 直接按照调用手册 操作步骤即可实现读写功能。 适合人群:新手及有一定经验的开发人员。内容来源于网络分享,如有侵权请联系我删除。
资源说明:https://editor.csdn.net/md/?articleId=129220710#323_oled_148 本设计的电梯系统采用的是stm32微处理器。STM32处理器是基于Cortex-M3架构的嵌入式微处理器MCU,其中Cortex-M3架构是ARM公司推出的。STM32处理器具有高速、高集成度、低功耗、高可靠性等优点。正是由于STM32处理器具有这些优点,它正适合运用于电梯控制。本设计中的电梯控制系统主要运用了STM32处理器GPIO口操作和其精确地定时功能。该电梯系统一共分6个部分,它们是 STM32处理器、电源系统、数码管显示器、键盘、LED小灯、直流电机驱动模块。这些部分是直接与STM32的GPIO口连接的,所以它们占用的GPIO口较多。 各功能模块简介: (1)电源系统:为整个系统提供+5V电源; (2)键盘:每个键位互不影响用以控制电梯运行状态; (3)LED指示小灯:用以指示小健是否被按下和电梯门开关状态; (4)4位8段数码管:用于显示电梯内部和每层电梯外部电梯所在的层数; STM32开发板:通过写入程序代码来控制电梯的运行状态。。。。。。。
推荐Matlab人脸识别源码合集(包含PCA、Adaboost、DLDA、费舍尔算法等)及多语言参考,推荐Matlab人脸识别源码合集(包含PCA、Adaboost、DLDA、费舍尔算法等多套实现),Matlab人脸识别源码6套,可运行(包括PCA算法,Adaboost算法,DLDA算法,费舍尔算法等)。 另含多套文档及JAVA,PYTHON,C#,OPENCV人脸识别源码可供参考 源码很多,请优先选择Matlab文件夹且标题里含有(推荐)标识者 ,Matlab人脸识别源码; PCA算法; Adaboost算法; DLDA算法; 费舍尔算法; JAVA,PYTHON,C#人脸识别源码; OPENCV人脸识别源码; 推荐标识; 优先选择Matlab文件夹。,Matlab人脸识别源码合集(推荐PCA、Adaboost、DLDA算法,含多套文档及跨平台源码)
分割资源UE5.3.z21重传
Labview操作者框架结合ADS与Twincat控制器:ST语言与EtherCAT总线控制工程项目资料,LabVIEW操作者框架结合ADS与Twincat控制器:Ethercat总线控制工程项目资料,labview操作者框架+ADS+twincat2(twincat3) st语言ethercat总线控制工程项目资料 twincat控制器+twincat资料 到手能用,labview界面+控制器 ,labview操作者框架; ADS; twincat2/3; st语言; ethercat总线控制; 控制器; 可用资料,LabVIEW操作者框架与TwinCAT控制器:Ethercat总线控制工程项目资料
基于观测器的LOS制导结合反步法控制:无人船艇路径跟踪控制的Fossen模型Matlab Simulink仿真效果研究,基于观测器的LOS制导结合反步法控制:无人船艇路径跟踪控制的Fossen模型Matlab Simulink仿真效果研究,无人船 无人艇路径跟踪控制 fossen模型matlab simulink效果 基于观测器的LOS制导结合反步法控制 ELOS+backstepping ,无人船; 无人艇; 路径跟踪控制; Fossen模型; Matlab Simulink效果; 基于观测器的LOS制导; 反步法控制; ELOS+backstepping,基于Fossen模型的无人船路径跟踪控制:ELOS与反步法联合控制的Matlab Simulink效果分析
基于【pmsm0512】的MATLAB Simulink永磁同步电机矢量控制策略研究与应用,基于【pmsm0512】的MATLAB Simulink永磁同步电机矢量控制策略研究与应用,【pmsm0512】MATLAB simulink永磁同步电机的矢量控制。 PMSM的矢量控制 ,PMSM; 矢量控制; MATLAB Simulink; 永磁同步电机; 0512,MATLAB Simulink PMSM矢量控制策略研究
深圳绿新威推出的GS2113S 半桥驱动芯片 应用于逆变器驱动 电机驱动等采用高压工艺
PMSM永磁同步电机矢量控制Simulink模型研究:速度环PI与滑模变结构对比,电流环PI滞环策略的建模与实现,PMSM永磁同步电机矢量控制Simulink模型研究:速度环PI与滑模变结构对比分析,电流环PI滞环方案搭建与验证,附详细说明文档及参考资料,PMSM永磁同步电机矢量控制simulink模型,包括matlab模型,两种方案对比,分别为速度环采用pi和滑模变结构对比,电流环采用pi滞环,搭建过程清晰且包含说明文档和其他附带参考资料。 ,PMSM永磁同步电机;矢量控制;Simulink模型;Matlab模型;速度环对比(PI vs 滑模变结构);电流环(PI滞环);搭建过程;说明文档;附带参考资料。,PMSM矢量控制Simulink模型:PI与滑模变结构方案对比
prov year 光缆线路长度/地区面积 安徽 2010 2.852140 4 安徽 2011 3.5921078 安徽 2012 4.3320751 安徽 2013 5.0716782 安徽 2014 5.8315897 安徽 2015 6.9423647 安徽 2016 9.9900103 安徽 2017 12.844298 安徽 2018 15.698587 安徽 20 19 16.412159 安徽 2020 17.125731 安徽 2021 17.839304 安徽 2022 19.266447 北京 2010 6 .5243206 北京 2011 8.9830551 北京 2012 11. 44179 北京 2013 13.407351 北京 2014 14.728 941 北京 2015 16.79026。内容来源于网络分享,如有侵权请联系我删除。
该资源为imutils-0.5.2.tar.gz,欢迎下载使用哦!
Matlab Simulink电机启动模型:模拟电压暂降及电能质量问题,适配IEEE 33节点模型研究,利用Matlab Simulink的电机启动模型精准模拟电压暂降等电能质量问题:适配IEEE 33节点模型,电机启动模型 Matlab simulink 可用于模拟电压暂降等电能质量问题,适配于本家的IEEE 33节点模型。 ,电机启动模型; Matlab Simulink; 电压暂降模拟; 电能质量问题; IEEE 33节点模型; 适配性。,Matlab Simulink电机启动模型:模拟电压暂降电能质量问题的适配IEEE 33节点模型
美赛教程&建模&数据分析&案例分析
台达as系列PLC程序模板:基于现场经验的车企通用模板,含多轴手动与自动流程,地址映像IO,高通用性与扩展性,快速项目实施利器。,台达as系列PLC程序模板:基于现场经验的车企通用模板,含多轴手动与自动流程,灵活高效可移植扩展,台达as系列plc程序模板。 本程序根据多年现场实际经验并参照车企通用模板编写,含6轴手动程序。 1+6(带一分支,可扩分支)自动流程程序。 io采用地址映像。 通用和可扩展性,可移植性强。 非常灵活,可为你项目实施节约大量宝贵时间。 ,台达AS系列PLC; 程序模板; 6轴手动程序; 1+6自动流程程序; IO地址映像; 通用可扩展性; 移植性强; 时间节约。,台达AS系列PLC程序模板:通用可扩展的自动化流程程序
S32系列MCU的S32K144与S32K148 Boot、网络与UDS标定程序定制服务,包含UDS烧写上位机解决方案,S32系列MCU的S32K144与S32K148的boot加载与网络通讯技术——包含UDS烧写及标定程序定制服务,S32k144,S32K148的boot,网络,uds,标定程序订做,包含uds烧写上位机 ,S32k144; S32K148; boot程序订做; 网络功能; UDS烧写; 上位机标定程序,S32系列MCU Boot网络UDS标定程序订制及UDS烧写上位机开发
CAE整车碰撞模型详解:含白车身、底盘等模块,材料曲线公开,细分模块丰富,附碰撞视频资料,CAE整车碰撞模型详解:包含白车身、底盘等多模块,材料及曲线公开,附碰撞视频资料,CAE 整车碰撞模型,模型完整,材料及曲线不加密,内含白车身,底盘,悬架,四门俩盖,前后保,仪表盘等细分模块,另有碰撞视频资料 ,CAE整车碰撞模型;模型完整性;不加密材料;内含细分模块;碰撞视频资料,完整CAE碰撞模型展示:涵盖白车身及底盘悬架等多模块,材料曲线无加密,附带碰撞视频