版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/AAAAA_Alice/article/details/82144460                                            一、java文件组织

文件组织规则:由于超过2000行的程序难以阅读,应该尽量避免出现超过2000行的程序。一个Java源文件都包含一个单一的公共类或接口。若私有类和接口与一个公共类相关联,可以将它们和公共类放入同一个源文件。公共类必须是这个文件中的第一个类或接口。

文件组织顺序:

1.文件注释:所有的源文件都应该在开头有一个注释,其中列出文件的版权声明、文件名、功能描述以及创建、修改记录:

2.包和引入语句:在多数Java源文件中,第一个非注释行是包语句。在它之后可以跟导包语句

3. 类或接口注释:采用JavaDoc文档注释,在类、接口定义之前应当对其进行注释,包括类、接口的描述、最新修改者、版本号、参考链接等;

注:JavaDoc文档注释:描述Java的类、接口、构造方法、方法、以及字段。每个文档注释都会被置于注释定界符/**...*/之中,一个注释对应一个类、接口或成员。该注释应位于声明之前。文档注释的第一行(/**)不需缩进,随后的文档注释每行都缩进1格(使星号纵向对齐)。

4. 类或接口的声明

5. 类或接口的实现注释:如果有关类或接口的信息不适合作为“类或接口文档注释”,可以在类或接口的实现注释中给出;

6. 类的(静态)变量:首先是类的公共变量,随后是保护变量,再后是包一级别的变量(没有访问修饰符),最后是私有变量;

7. 实例变量:首先是公共级别的,随后是保护级别的,再后是包一级别的(没有访问修饰符),最后是私有级别的;

8. 构造方法;

9. 普通方法:方法应该按功能分组,而不应该按作用域或访问权限进行分组。

二、代码风格

1.缩进:程序块要采用缩进风格编写,缩进只使用TAB键,不能使用空格键(编辑器中请将TAB设置为4格);方法体的开始、类的定义、以及if、for、do、while、switch、case语句中的代码都要采用缩进方式;

2.对齐:程序块的分界符左大括号"{" 和右大括号"}"都另起一行,应各独占一行并且位于同一列,同时与引用它们的语句左对齐;对齐只使用TAB键,不使用空格键;不允许把多个短语句写在一行中,即一行只写一条语句;if、for、do、while、case、switch、default等语句自占一行。

3.换行:一行的长度超过80个字符需要换行,换行规则如下:

在一个逗号后面断开;在一个操作符前面断开;长表达式要在低优先级操作符处划分新行;新行缩进2个TAB。

4.间隔:类、方法及相对独立的程序块之间、变量说明之后必须加空行;关键字之后要留空格, 象if、for、while  等关键字之后应留一个空格再跟左括号"(", 以突出关键字;方法名与其左括号"("之间不要留空格, 以与关键字区别;二元操作符如   " ="、" +="  " >="、" <="、" +"、" *"、" %"、" &&"、" ||"、" <<" ," ^" 等的前后应当加空格;一元操作符如" !"、" ~"、" ++"、" --"等前后不加空格;xiang"[ ]"、" ." 这类操作符前后不加空格;for语句中的表达式应该被空格分开;强制转型后应该跟一个空格。

三、注释

1.原则:对已经不推荐使用的类和方法需要注明@Deprecated,并说明替代的类或者方法;对于针对集合、开关的方法,要在方法注释中表明是否多线程安全。

2.字段注释: 采用JavaDoc文档注释,定义为public的字段必需给出注释,在类的(静态)变量、实例变量定义之前当对其进行注释,给出该字段的描述等:

3.方法注释:采用JavaDoc文档注释,在方法定义之前当对其进行注释,包括方法的描述、输入、输出及返回值说明、抛出异常说明、参考链接等:

4.单行注释格式//

6.多行注释格式/*……*/

三、命名规则

1.基本规则:使用可以准确说明变量、字段、类、接口、包等完整的英文描述符;采用大小写混合,提高名字的可读性;采用该领域的术语;尽量少用缩写,但如果一定要使用,当使用公共缩写和习惯缩写等;避免使用相似或者仅在大小写上有区别的名字。

2.包命名:包名一律小写, 少用缩写和长名;采用以下规则:

[基本包].[项目名].[模块名].[子模块名]...

不得将类直接定义在基本包下,所有项目中的类、接口等都应当定义在各自的项目和模块包中。

3.类或接口命名:类或接口名是个一名词,采用大小写混合的方式,每个单词的首字母大写。尽量使你的类名简洁而富于描述。使用完整单词,避免用缩写词(除非该缩写词被更广泛使用,像URL,HTML)。

4.变量命名: 采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写;变量名不应以下划线或美元符号开头;尽量避免单个字符的变量名,除非是一次性的临时变量。临时变量通常被取名为i,j,k,m和n,它们一般用于整型;c,d,e,它们一般用于字符型;不采用匈牙利命名法则,对不易清楚识别出该变量类型的变量应使用类型名或类型名缩写作其后缀;组件或部件变量使用其类型名或类型名缩写作其后缀;集合类型变量,例如数组和矢量,应采用复数命名或使用表示该集合的名词做后缀。

5.常量命名:全部采用大写,单词间用下划线隔开。

6.方法命名:方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写;取值类可使用get前缀,设值类可使用set前缀,判断类可使用is(has)前缀。

四、声明

1.类或接口的声名:类、接口定义语法规范如下

[可见性][('abstract'|'final')] [Class|Interface] class_name

[('extends'|'implements')][父类或接口名]{

//方法体

}

2.方法声明:良好的程序设计应该尽可能减小类与类之间耦合,所遵循的经验法则是:尽量限制成员函数的可见性。如果成员函数没必要公有 (public),就定义为保护 (protected);没必要保护 (protected),就定义为私有 (private);方法定义语法规范:

[可见性]['abstract'] [‘static’] ['final'] ['synchronized'][返回值类型] method_name(参数列表)[('throws')][异常列表]{

//方法体

}

声明顺序:构造方法、静态公共方法、静态私有方法、公共方法、友元方法、受保护方法、私有方法、main方法;方法参数建议顺序:(被操作者,操作内容,操作标志,其他)。

3.变量声明:一行一个声明;声明局部变量的同时初始化(在变量的初始值依赖于某些先前发生的计算的特殊情况下可以不用同时初始化);只在代码块的开始处声明变量,(一个块是指任何被包含在大括号"{"和"}"中间的代码)不要在首次用到该变量时才声明;避免声明的局部变量覆盖上一级声明的变量,即不要在内部代码块中声明相同的变量名;公共和保护的可见性应当尽量避免,所有的字段都建议置为私有,由获取和设置成员函数(Getter、Setter)访问;定义一个变量或者常量的时候,不要包含包名(类似java.security.MessageDigest digest = null),除非是两个包有相同的类名;数组声明时应当将"[]"跟在类型后,而不是字段名后;声明顺序:常量、类变量、实例变量、公有字段、受保护字段、友元字段、私有字段。

五、异常

1.捕捉异常的目的是为了处理它

2. 多个异常应分别捕捉并处理,避免使用一个单一的catch来处理。

六、习惯

1. if、for、do、while等语句的执行语句部分无论多少都要加括号"{}"

2. 每当一个case顺着往下执行时(因为没有break语句),通常应在break语句的位置添加注释;

3. 尽量避免在循环中构造和释放对象

4. 在使用局部变量的过程,按就近原则处理。不允许定义一个局部变量,然后在很远的地方才使用;

5.相同的功能不允许复制成N份代码;

6. 在处理 String 的时候要尽量使用 StringBuffer 类。

————————————————

版权声明:本文为CSDN博主「不二也很二」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/aaaaa_alice/article/details/82144460

读了《数学之美》,我们日常的开发工作中,作为IT工程师,程序员,要跟上技术的大潮流,需要学习的技术太多太多,如果一味地只为去追技术的脚步,那么我们也会很累很累,而且可能会是花了80%的时间却只得到了20%的效果,更别谈期望值最大化了,或许根本就达不到你期望值的60%。相反。这些东西恰好是在这个浮躁的社会,我们这些所谓的计算机系的毕业生,所谓的科班毕业生所缺乏的(因为大部分人都没有在大学期间将这些东西真正地学好,而只是为了所谓的几个学分去图书馆奋战一两个周末而已)。站在高处向下看,也许我们一直看不到底,但是站在底处却是可以看见底的,这也是我为什么在毕业之后还要去重新温故操作系统原理和数据结构等科目的原因。简单说,人没了灵魂,就成尸体了。同样的,一段代码和一个程序没有了算法,那么也就是一堆数字在那了,不会有任何生机。所以听人常说,算法就是一个程序的灵魂。学习编程真正入门的时候,个人就是你积累算法经验的时候。

转载于:https://www.cnblogs.com/fzxblogs/p/11488941.html

代码规范与《数学之美》读后感相关推荐

  1. 代码规范+《数学之美》读后感

    相关名字表示代码含义,提高代码可读性     例如"体积"用V表示."名字"用name表示 选取名字时,名字不能产生歧义并且不能与语言中已有的符号名称相同,避免 ...

  2. Python代码中的数学之美:从自由落体到爬虫悖论,十分钟开启数学思维

    数学思维,就是用数学的方式去解决问题,就象吃饭用筷子.喝水用杯子一样,自然而然又理所当然.数学思维并非知识的积累,而是一种由特定思维习惯蕴育而成的能力--这种特定习惯的养成,往往是从解决看似简单的问题 ...

  3. 算法第一章作业(c++代码规范+数学之美读后感+规划)

    c++代码规范: 一.文件结构 每个 C++/C 程序通常分为两个文件.一个文件用于保存程序的声明(declaration),称为头文件.另一个文件用于保存程序的实现,称为定义(definition) ...

  4. 编码规范与数学之美感想

    命名规约 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式 类名使用UpperCamelCase风格,必须遵 ...

  5. 代码规范与读写可维护性

    某公司员工小 A 即将离职,开始着手交接工作.员工小 B 被点名要求接手原先小 A 的工作.当小 B 打开小 A 独立负责的项目后,瞬间惊呆了--半个月后,小 B 基本消化了小 A 遗留下来的代码,此 ...

  6. 提升自己逼格的编程之美之代码规范

    原文 提升自己逼格的编程之美之代码规范 头文件#import的顺序(商量) 写法模板 #import <系统库> #import <第三方库> #import "其他 ...

  7. 《数学之美》读后感与商榷

    可以说,数学之美,也是化繁为简之美. <数学之美>读后感 曉SHAO 我们每个人都从小就开始学数学,多数人说起数学,恐怕都会觉得太难.太深奥.而且很多时候,似乎我们的工作也不需要那么多复杂 ...

  8. 《数学之美》读后感:看数学之美,悟技术之道

    一.关于此书 记得几年前看完了<浪潮之巅>之后,便知道了吴军老师还有另外一本非常出名的著作<数学之美>,但是一直没有列入计划阅读.直到2016年我看完了<硅谷之谜> ...

  9. 罗杨美慧 20190919-5 代码规范,结对要求

    本次作业要求参见:[https://edu.cnblogs.com/campus/nenu/2019fall/homework/7630] 结对伙伴:徐丽君 使用语言:Python 参考博客: htt ...

最新文章

  1. GridView显示图片
  2. python常用模块大全总结-Python模块汇总(常用第三方库)
  3. 使用redis做为MySQL的缓存
  4. python3 爬虫实战:mitmproxy 对接 python 下载抖音小视频
  5. linux 访问samba共享文件夹权限,请教:linux下 利用samba网络共享文件夹修改权限的问题...
  6. Spring Cloud Eureka 2 (Eureka Server搭建服务注册中心)
  7. C#中索引器的简单使用
  8. Android 获取gateway网关地址
  9. 学生网页作业—山河旅行社网站(5页) HTML+CSS+JavaScript 学生DW网页 出行 旅途 游玩
  10. 叮叮 算法数据结构(一)
  11. 输出100以内不能被7整除的数
  12. ORACLE 常用的SQL语法和数据对象
  13. 产品定位,什么是产品?什么是产品定位?
  14. 适用于任何设备的屏幕共享应用程序 – Mirroring360
  15. 一种测试FPS的方法
  16. 信息系统项目管理师 - 项目立项管理
  17. OS模块--批量修改文件名字(二)
  18. 关于Edge被篡改:打开的主页被改动、收藏夹被改动等问题
  19. 信息学奥赛一本通(C++版)continue
  20. Android 应用商店的思考

热门文章

  1. Vue全家桶:Vuex
  2. 大数据主导的七大领域,看看你是否身处其中!
  3. Tomcat7 配置 WebSocket
  4. 最短路径—— Til the Cows Come Home
  5. tensorflow: 花卉分类
  6. 水库大坝隧道安全监测通用的无线解决方案
  7. 真地D10指纹考勤机,真地D10指纹打卡机
  8. PS批量快速修改png图标颜色
  9. 移动端UI设计规范模板参考以及设计规范的好处
  10. VisionPro之脚本(一文读懂VisionPro脚本原理与使用方法)