您的位置 首页 java

Java基础,保持编程设计风格,你也能成就大师风范

1 前言

很多时候,开发人员都不太注意自己的编程风格,他们把主要精力都放到了功能的实现上。这本来就是无可厚非的,但是不得不提醒的是好的编程设计风格同样也至关重要。

一个杂乱无序的程序代码让人看后有一种心烦意乱的感觉,因此抱怨、怀疑开发人员的素质和技术水平。如果这个系统想持续移交下去的可能性就几乎没有了,即便是原来人马长此以往也会茫然无措。这也是造成软件公司的人员流动频繁的一个因素。如果软件因无法继续开发、维护而半途夭折,这给企业带来的损失是不言而喻的。

因此,从近期利益来看是应该着眼于功能的实现,虽能解一时之渴,而不思长远之计,将会损失惨重!很多优秀公司,宁愿培养没有实际开发经验的员工,也不愿和养成不良设计风格的开发人员共事。因为,优秀的软件企业都有自己一套健全、成熟的程序设计风格规范文档,用以规范开发人员编写代码的风格。

下面就详细介绍Java编程设计时应该注意的书写格式,应用好这些格式也能写出大师级别的代码。

2 源文件

Java文件分为Java源文件和Java字节码文件两种类型。

文件类型

文件后缀

Java源文件

.java

Java 字节码文件

.class

Java 源文件 由开发人员创建,Java 字节码 文件是通过Java虚拟机编译Java源文件生成的。我们所说的编程设计风格是对Java源文件而言。在Java源文件中应该包含一个单一的类或接口。它由被空行分割而成的段落以及标识每个段落的可选注释共同组成。通常来讲,一个Java源文件不应该超过2000行。

Java 源文件还遵循以下规则:

  • 开头文件注释
  • 包名和引入声明
  • 类或接口声明

2.1 文件注释

所有的Java源文件都应该在开头有一段注释,其中包括类名、日期、功能和版权等。这些注释信息是为了生成 Java API 标准文档做准备的。

 /*
 * @ClassName: 类名
 * @Description: 功能说明
 * author: 作者
 * @date: 日期
 * Copyright (c): 版权
 */  

2.2 包和引入

我们在做Java开发时经常会 引入 (import)Java核心类或第三方软件厂商的类。一般情况下,这些类都是封装在一个 (package)里面。包的出现使类有了空间上的划分。如下代码所示:

 package com.fs.core.util;

import java.util.Collection;  

在Java语言中包的命名规则如下所示:

  • 包名必须独一无二不可重复
  • 包名应该是小写的ASCII字母
  • 包名一般由域名后缀+公司域名+功能模块+其它组成

例如:

  • com. baidu .util;
  • java.lang
  • org.springframework.boot.SpringApplication

2.3 缩进排版

Java源文件一般是以四个空格键为单位作为缩进排版的一个单位。当然这并没有权威的文献作为参考,只是目前普遍认为比较清晰合理的格式。

2.4 行长度和换行

一般来说Java的代码行长度应该小于80个字符,这是因为目前很多终端和工具不能很好的处理。建议在70个字符左右。

当完整的一行代码不能在一行很好的排版时,我们可以根据下面的规则进行拆行编排:

  • 在逗号后换行
  • 在运算符前换行
  • 换行的代码应该与同级别的代码行左对齐
  • 如果换行出现差距较大且混乱时,我们可以适当采用Tab键(8个空格)处理

2.5 命名规则

  • 类或接口

类或接口的的命名,第一个字母大写,在多个单词混合的情况下,第一个单词后的所有单词的第一个字母大写,其余字母小写,代码示例:

 //类
public class SysUser{
    
}
//接口
public interface SysUserDao {

}  
  • 方法

方法的命名,第一个字母小写,在多个单词混合的情况下,第一个单词后的所有单词的第一个字母大写,其余字母小写,代码示例:

  boolean addUser(SysUser sysUser);

 List<SysUser> getList();  

如果该方法在软件产品的不断升级中已经不建议使用了,可以在方法声明注释部分下添加注解@deprecated。

  • 变量

变量命名规则 是,除常规变量外,第一个字母小写,在多个单词混合的情况下,第一个单词后的所有单词的第一个字母大写,其余字母小写。

 private String userName;  

常量命名规则是,一般采用大写字母,单词之间用下划线“_”分割,

 private static final int DEFAULT_POOL_SIZE=10  

2.6 语句编写规则

在Java编程设计中,语句按其自身特点可以分为:简单语句与复合语句。

  • 简单语句

简单语句一般包括单行计算语句、赋值语句和返回语句。它们共同的特点是仅占用一个代码行完成相关操作。一行出现多个简单语句是不可取的。

  • 复合语句

复合语句可以分为:分支语句、循环语句和异常语句。

if else 语句为了代码更加安全和清晰,建议代码块为单行的语句也通过{}将其闭合。

  if (condition) { 
    statements; 
 }

 if (condition) { 
    statements; 
 } else { 
     statements; 
 }

 if (condition) { 
     statements; 
 } else if (condition) { 
     statements; 
 } else{ 
    statements; 
 }  

for 语句的初始化或更新子句中使用逗号时,避免因使用三个以上变量,而导致复杂度提高。

  for ( initialization ; condition; update) { 
    statements; 
 }  

2.7 空行应用规则

空行将逻辑相关的代码段分隔开,以提高可读性。

  • 使用两个空行隔开

在同一个源文件中类声明和接口声明之间

  • 使用一个空行隔开

两个方法之间;方法内部的局部变量和方法的第一条语句之间;块注释和行注释前;在一个方法的两个逻辑段之间;

3 码农 来洞见

下面的例子是一个用户管理的业务类,展示了如何合理布局一个包含单一公共类的Java 源程序 。(编辑器代码排版可能会出现错乱,仅供参考)

 /*
 * 
 * Copyright (c) 2021 fullset
 * @ClassName SysUserService
 * @author 码农洞见
 * @date 2021/6/5 10:52
 * @Description 用户管理
 */package com.fs.base.service;

import com.fs.orm.entity.SysUser;
import com.fs.orm.vo.form.SysUserForm;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;

public class SysRoleServiceImpl implements SysRoleService {

    /**
     * 获取全部用户
     * @return
     */    List<SysUser> getAll(){
        QueryWrapper qWrapper = new QueryWrapper();
        //过滤条件
        qWrapper.eq("is_deleted", 0);
        return sysUserDao.getList(qWrapper);
    }
    
    /**
     * 添加用户
     * @return
     */    SysUserForm addUser(SysUserForm sysUserForm) {
        SysUser sysUser = new SysUser();
        BeanUtil.copyAttribute(sysUserForm, sysUser);
        boolean result;
        try {
            result = sysUserDao.addUser(sysUser);
        }catch (Exception e){
            throw new Exception("sql语法错误!");
        }
        if(!result){
            throw new BizException(BizExceptionEnum.SYS_USER_ADD_ERROR);
        }
        return sysUserForm;
    }

    /**
     * 编辑用户表单
     * @return
     */    SysUserForm editForm(Long id){
        SysUser sysUser = new SysUser();
        BeanUtil.copyAttribute(sysUserForm, sysUser);
        try {
            sysUser = sysUserDao.editUser(sysUser);

        }catch (Exception e){
            // throw new Exception("sql语法错误!");
        }
        return sysUserForm;
    }

    /**
     * 逻辑删除用户
     * @param id 用户id
     * @return
     */    boolean logicalDeleteById(String id){
        return sysUserDao.logicalDeleteById(id);
    }

}  

以上就是今天分享的内容,Java编程设计就好比书法,只要按规范坚持下去,你也能成就大师的风范。 我是码农洞见,为初学者提供学习指南,为从业者提供参考价值。我坚信码农也具有产生洞见的能力。欢迎大家关注交流!

文章来源:智云一二三科技

文章标题:Java基础,保持编程设计风格,你也能成就大师风范

文章地址:https://www.zhihuclub.com/195671.shtml

关于作者: 智云科技

热门文章

网站地图