1. 文件编码统一采用utf-8编码
在网上下载到的框架源代码大都是utf-8的,而使用eclipse建立的工程,默认是gbk的编码,因此同时查看两个项目的源代码是就会出现乱码的尴尬。因此在ecplise里面新建工程的第一步就是检查当前环境的编码是否是utf-8,如果不是则改成utf-8。
2. 标识符命名规则
1) 对象名所有的单词第一个字母大写
2) 变量名采用驼峰大小写,使用名词来表达变量的含义,变量的命名要有规则和规范化,变量比较多的情况下规则优先,变量比较少的情况下规范有限,例如:对一个数组进行操作,数组命名为abc,数组长度命名为len,规范化优先,因此保持长度一致。如果对多个数组进行操作,数组分别命名为abc、dbc,数组长度命名为abcLength、dbcLength。
3) 函数名采用驼峰大小写,如果是私有函数,则在添加下划线前缀,使用动词来表达函数的意图
4) 静态属性和常量名使用全部大写字母,单词之间使用下划线分割
3. 构建工具的选择:首选Maven,Ant次之,最后是eclipse
4. 接口
我把接口划分为两类:对外接口和对内接口。对外接口是指向用户提供的访问或调用接口,对外接口通常是我们项目要实现的目标功能,这类接口要进行严格的参数检查、权限检查、日志记录和错误信息;对内接口是项目抽象化的需要而设计开发的接口,这些接口供内部调用,开发人员会很熟悉这些接口的调用规范,因此这类接口不要求进行严格的参数检查,只需要在适当的地方进行参数检查和日志记录。
接口的设计要有规则和规范,Web接口使用RESTful架构风格,具备日志记录、权限验证、参数检查和错误提示功能。
5. 模块
模块化是编程的趋势,也是提高代码内敛和稳定性的手段,模块应具有清晰的边界和高度的抽象,边界清晰易于维护,抽象易于扩展。另外模块有具有可配置性,通常使用配置文件来配置,这样不需要重新编译源代码。
6. 配置
项目配置或模块配置通常有两种方式:数据库配置和文件配置,通常如果一个模块或特征需要支持多用户,即不同的用户可以使用不同的模块或特征,则使用数据库配置;反之如果不需要动态改变,只需要在项目启动加载的模块或特征可以使用文件配置,例如:下面目录和上传目录。
7. 抽象
抽象不仅仅是指创建抽象类,而是把共同的代码拿出来,单独作为一个类或一个函数,好处是便于维护,结构清晰。
8. 代码规范
同一组成员或整个公司采用同一份代码模版,每个源代码都在编写后进行格式化,保持风格的统一。