IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Java基础,保持编程设计风格,你也能成就大师风范 -> 正文阅读

[开发测试]Java基础,保持编程设计风格,你也能成就大师风范

作者:22__38

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源程序。(编辑器代码排版可能会出现错乱,仅供参考)

/*
 * http://www.apache.org/licenses/LICENSE-2.0
 * 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编程设计就好比书法,只要按规范坚持下去,你也能成就大师的风范。我是码农洞见,为初学者提供学习指南,为从业者提供参考价值。我坚信码农也具有产生洞见的能力。欢迎大家关注交流!

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-03 12:13:08  更:2021-09-03 12:14:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 2:33:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码