代码规范(Java学习笔记)

第一个程序Hello world!


public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello world!");
    }
}

注意:
1-Java对大小写敏感
2-关键字class的意思是类。Java是面向对象的语言,所有的代码必须位于类里面
3-源文件编译后,得到相应的字节码文件,编译器为每个类生成独立的字节码文件
4-main文件是Java应用程序的入口方法,格式固定:
pubic static void main(String[] args){…}
5-一个源文件可以包含多个类
6-每个语言必须以分号结束,回车不是语句结束标志,所以一个语句可以跨多行

驼峰命名法

1-标识符是用来给变量,类,方法以及包进行命名的:
–必须以字母,下划线,美元符号开头
–其他部分可以十字母,下划线“_”,美元$和数字的任意组合
–大小写敏感,且长度无限制
–不可以是Java的关键字
–表示类名的每个单词首字母大写(规范)
–表示方法和变量的标识符:首字母小写,第二个单词开始首字母大写(规范)
2–Java不采用ASCII字符集,采用的是Unicode的字符集,因此Java的字母不仅仅是英文还可以是中文,但一般不建议使用中文
3-关键字是Java语言保留供内部使用的,我们不能使用关键字作为变量名和方法名

public class HelloWorld {
  public static void main(String[] args) {
      System.out.println("Hello world!");
      String name="初学者";
      String first_name="初学者";
      String _name="初学者";
      String firstName="初学者";
  }
  protected void testName(){
      
  }
}

注释

单行注释

快捷键:选中区域+alt+/


多行注释

快捷键:选中区域+Ctrl+shift+/

/*
 * 多行注释
 *
 */

文档注释

用在类、方法和变量上面,用来描述其作用
快捷键:alt+shift+j

/**
 *
 * 文档注释
 */

包名

包的作用是将功能相同或者相关的类和接口进行统一的存放,便于管理,方便维护和调用。一般是以小写字母进行命名,用.划分层次。开发中的顶级域名是以com,net,org,edu,cn这些开头后面接着公司/组织/个人名字/功能模块

package com.liushan.datasource.common;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;

一般 类名

类一般用名词进行命名,首字母大写,最好见名知意,两个以上单词构成要用驼峰命名法。

public class RedisTemplateConfiguration{}

接口

接口和类差不多,但是接口命名时通常采用名词+形容词或动词来描述接口的动作行为。

public interface AfterAdvice{}

抽象类

抽象类其命名与普通类的命名规范相同。但是为了区别抽象类与普通类和接口,在命名抽象类时,会以“Abstract”/“Base”作为类名的前缀。

public abstract class AbstractAspectJAdvice{}

异常类命名

异常类一般以Exception作为后缀

public class NoSuchMethodError{}

方法

获取就用get开头,查询用find/query,连接查询条件的就用By/With进行连接,设置,插入,修改,删除用set,insert,update,delete,获取长度和数量就用length,size,类型转换用to。

public String getName(){}
public List<User> findAll(){}
public User findById(){}
public void setName(){}
public long length(){}
public String toString(){}

变量

1-变量的本质代表的是一个“可操作的储存空间”,空间位置是确定的,里面放置的是什么值是不确定的。
2-可通过操作变量名来访问“对应的存储空间”,从而操作这个“存储空间”储存的值。
3-Java是一种强类型的语言,每个变量都必须声明器数据类型。变量的数据类型决定了变量占据储存空间的大小。
4-变量的三大类型:局部变量,成员变量(实例变量,属于对象),静态变量(属于类)

常量

Java语言中用关键字final来定义一个常量,使用大写字母夹。常量一旦初始化后就不能再更改。

public static final String USER_NAME="葵阳";

枚举

枚举是特别的类,一般类名用首字母大写+驼峰命名的方法,枚举类中定义的名称要用大写

public enum  Color{
    RED,YELLOW,GREEN,WHITE;
}

数组

使用阿里的规范模板

int[] array = new int[10];
int[] idArray ={1,2,3,4,5};
String[] nameArray = {"First","Yellow","Big"}

public List<String> getNameById(Integer[] ids){
    
}

public List<String> getNameById(Integer...ids){
    
}

泛型类

E表示Element,通常用在集合中
ID用于表示对象的唯一标识符类型
T表示Type(类型),通常指代类
K表示Key(键),通常用于Map中
V表示Value(值),通常用于Map中,与K结对出现
N表示Number,通常用于表示数值类型
?表示不确定的Java类型
X用于表示异常
U,S表示任意的类型

public class HashSet<E> extends AbstractSet<E>{
    
}
public class HashMap<K,V> extends AbstractMap<K,V>{
    
}
public class ThreadLocal<T>{
    
}
public interface Functor<T,X extends Throwable>{
    T val() throws X;
}
public class Container<K,V>{
    private K key;
    private V value;
    Container(K key,V value){
        this.key = key;
        this.value = value;
    }
    
}

public interface BaseRepository<T,ID>{
    T findById(ID id);

    void update(T t);

    List<T> findByIds(ID...ids);
}

public static <T> List<T> methodName(Class<T> clz){
    List<T> dataList = getByClz(clz);
    return dataList;
}

接口实现类

接口实现类使用Impl作为后缀

public class AbroadServiceImpl extends ServiceImpl<AbroadMapper, Abroad> implements AbroadService{}

测试类和测试方法

测试类采用被测试业务模块名/被测试接口/被测试类+“Test”的方法进行书写,测试类中的测试函数采用“test”+用例操作_状态的组合方式进行书写

class DatasourceApplicationTest {}

复数和集合

一个变量表示多个数据时,用单词的复数形式进行书写
数据为Map的时候就用map为后缀

List<User> users;
Map<Integer,User> userMap;

参考文献

文献地址:https://cloud.tencent.com/developer/article/1896438

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值