最近在学习C#,感觉有些编码规范可以引入到Java项目中。
接口
C#中,Interface以大写字母I开头。例如,一个写数据的接口,命名为 IWriter。
Java中,则通常直接命名为Writer。
命名为IWriter的优势在于:一眼就知道当前类型为接口,而且默认实现可以直接取名为Writer,而不需要取名WriterImpl或者DefaultWriter。
抽象类
Java中,抽象类通常以Abstract打头,如AbstractWriter,抽象类中通常定义模板方法。
C#中,微软的SDK代码中,部分代码采用以Base结尾的命名方式,如ControllerBase。
以Base结尾的优势在于:突出主体,并且IDE中的排序也会将接口与实现类放到一起。
私有字段
C#中,private字段加上 _ 前缀。
例如:
public class User
{private readonly int _age;public User(int age) {_age = age;}
}
优势:方便区分方法参数和私有字段,不需要再带上this前缀。