当前位置: 首页 > news >正文

java 程序编写规则(自己总结)

1.命名规范 
(1)所有的标示符都只能用ASCⅡ字母(A-Z或a-z)、数字(0-9)和下划线“_”。 
(2)类名是一个名词,采用大小写混合的方式,每个单词的首字母大写。例如:UserInfo 
(3)接口的大小写规则与类名相似:例如:UserInterface。 
(4)方法名是一个动词或动词词组,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。例如:setName(String name)。 
(5)变量名采取驼峰式命名,第一个字母小写,任何中间单词的首字母大写。变量名应简短且可以顾名思义,易于记忆。类的成员变量(自动生成的Mapper类除外,都用小写m开头)。 
(6)常量的声明应该全部大写,每个单词之间用“_”连接。例如:final String FTP = "FTP://192.168.1.2"; 
2.注释规范 
(1)注释尽可能使用“//”;对于所有的javadoc的注释则使用“/*”; 
(2)所有的源文件都在开头有一个注释,列出作者和时间,用Myeclipse的模板即可。 
(3)每个方法必须添加注释(类的main()方法除外)。 
(4)每个属性必须添加注释。 
(5)代码中至少包含15%的注释。Js代码应该超过30%的注释。 
(6)注释使用中文。 
3.缩进排版规范 
(1)避免一行的长度超过60个字符。 
(2)使用Eclipse的源代码的格式化功能完成代码的缩进排版。 
4.文件名规范 
(1)一个Java源文件只能存储一个Java类。 
(2)文件名与Java类名相同。 
(3)一个类文件的代码行不超过200行。 
5.声明规范 
(1)一行声明一个变量。 
(2)不要将不同类型变量的声明放在同一行。 
(3)只在代码块的开始处声明变量。 
(4)所有的变量必须在声明时初始化。 
(5)避免声明的局部变量覆盖上一级声明的变量。 
(6)方法与方法之间以空行分隔。 
6.语句规范 
(1)每行至少包含一条简单语句。 
(2)在return语句中,返回值不使用小括号“()”括起来。 
(3)if语句总是用“{”和“}”括起来。每个“{“或者”}“ 都单独占用一行。 
(4)在for语句的初始化或更新子句中,避免因使用三个以上变量,而导致复杂度提高。 
(5)当switch的一个case顺着往下执行时(因为没有break语句),通常应在break语句的位置添加注释。 
7.编程规范 
(1)提供对实例以及类变量的public或private访问控制,尽可能不适用默认值或protected访问控制。 
(2)避免用一个对象访问一个类的静态变量或方法。应该用类名代替。 
(3)避免在一个语句中给多个变量赋相同的值。 
(4)用switch()语句实现多路分支。 
(5)如果使用JDBC,则考虑使用java.sql.PreparedStatement,而不是java.sql.Statement。 
(6)用于设置对象状态的方法前缀必须是set;用于检索一个布尔类型对象状态的方法前缀必须是is,而用于检索其他方法前缀必须是get。 
(7)程序中应尽可能少使用数字(或字符),尽可能定义静态变量来说明该数字(或字符)的含义。程序中需要赋值或比较时,使用前面定义的静态变量。在循环控制中例外。

转载于:https://www.cnblogs.com/dengyungao/p/7525301.html

相关文章:

  • [Vue安装教程]十分钟学会vue 安装
  • 我也来开博
  • Ora2Pg的安装和使用
  • 简单记录几个有用的sql查询
  • springboot_database项目介绍
  • 使用window-based模板创建一个单view程序(转)
  • Python初学基础
  • OSPF分解试验部分-LAB10:OSPF外部路由汇总
  • 问题-百度云同步盘登陆时提示155010错误
  • 电脑启动时必须要按F1才能进入系统
  • mongodb 配置单实例与双实例
  • 2017-9-16
  • 10、Windows驱动开发技术详解笔记(6) 基本语法回顾
  • 防止重复提交
  • SQL合并数据
  • 【comparator, comparable】小总结
  • CSS 三角实现
  • go语言学习初探(一)
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • Javascript基础之Array数组API
  • PAT A1050
  • Redis学习笔记 - pipline(流水线、管道)
  • SpringCloud集成分布式事务LCN (一)
  • TypeScript实现数据结构(一)栈,队列,链表
  • Vue ES6 Jade Scss Webpack Gulp
  • 百度地图API标注+时间轴组件
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 普通函数和构造函数的区别
  • 前端工程化(Gulp、Webpack)-webpack
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 思维导图—你不知道的JavaScript中卷
  • 小程序01:wepy框架整合iview webapp UI
  • 移动端唤起键盘时取消position:fixed定位
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • #LLM入门|Prompt#3.3_存储_Memory
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (13)Hive调优——动态分区导致的小文件问题
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (C)一些题4
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (顺序)容器的好伴侣 --- 容器适配器
  • .Net IE10 _doPostBack 未定义
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET 分布式技术比较
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • [ IO.File ] FileSystemWatcher
  • [ Linux 长征路第五篇 ] make/Makefile Linux项目自动化创建工具
  • [acm算法学习] 后缀数组SA