NodeJS编程规范
一、命名规范
1.变量、函数、参数、属性名:小驼峰式命名法
2.类、构造函数:大驼峰式命名法
3.常量:全大写,单词间用下划线分隔
二、代码风格
1.缩进:使用2个空格进行缩进
2.行末不留空格
3.使用单引号代替双引号
4.每行末尾不使用分号
5.每个代码块使用花括号包裹
6.使用严格模式"usestrict"
三、模块规范
1.使用CommonJS规范
2.模块文件名使用小写字母,单词间用下划线连接
3.模块导出使用module.exports
4.模块导入使用require
四、注释规范
1.单行注释使用//,注释内容与//之间保留一个空格
2.多行注释使用/**/,注释内容与/*之间保留一个空格
3.函数注释使用JSDoc规范
五、错误处理
1.不要忽略错误,应该使用try-catch捕获错误
2.错误信息应该清晰明了,包含错误类型、错误原因、错误位置等信息
六、其他规范
1.使用ES6语法
2.避免使用全局变量
3.尽量使用const声明变量
4.尽量使用箭头函数
5.不要使用eval函数
6.不要使用with语句以上是NodeJS编程规范的相关资料。
TypeScript编程规范
命名规范
变量名:小驼峰式命名,如:firstName
常量名:大写字母和下划线命名,如:MAX_LENGTH
函数名:小驼峰式命名,如:getFirstName
类名:大驼峰式命名,如:Person
接口名:大驼峰式命名,如:IPerson
枚举名:大驼峰式命名,如:Gender
类型规范
基本类型:使用基本类型而非其包装对象,如:number而非Number
any类型:尽量避免使用any类型
void类型:只用于函数返回值类型
never类型:表示永不存在的值的类型,如:抛出异常或无限循环
代码风格
缩进:使用2个空格缩进
空格:操作符两侧加空格,如:a+b
分号:每条语句结束加分号
换行:每个语句结束后换行
注释:解释代码的作用,而非代码本身
引号:使用单引号
函数规范
函数返回值:尽量避免函数返回null或undefined
函数参数:尽量避免使用可选参数
函数重载:尽量避免函数重载
类规范
类成员顺序:先字段,后方法,构造函数放在最后
类成员修饰符:尽量避免使用public关键字
类成员命名:私有成员用下划线开头
模块规范
使用ES6模块语法
模块文件名:使用小写字母和中划线命名,如:person-info.ts
模块导出:使用export关键字
模块导入:使用import关键字
其他规范
使用const代替let和var
使用箭头函数代替匿名函数
使用模板字符串代替字符串连接
使用解构赋值
使用类型断言代替类型转换
RPC编程规范
一、概述
RPC(RemoteProcedureCall)是一种远程过程调用协议
RPC编程规范是为了保证RPC调用的正确性、可靠性和高效性
二、接口设计
接口应该简单明了,易于理解和使用
接口的参数和返回值应该尽量避免使用复杂的数据类型
接口的命名应该符合规范,遵循驼峰命名法
三、传输协议
传输协议应该选择可靠性较高的协议
传输协议应该支持压缩和加密功能
传输协议的版本应该保持一致
四、序列化协议
序列化协议应该选择效率高、可扩展性好的协议
序列化协议的版本应该保持一致
序列化协议应该支持多种语言
五、错误处理
接口应该返回明确的错误信息
错误码应该具有可读性和可维护性
错误码应该分类清晰,错误码之间应该有明确的关系
六、性能优化
尽量减少网络传输的数据量
尽量减少序列化和反序列化的时间
尽量减少网络请求的次数
七、安全性
传输协议和序列化协议应该支持加密功能
接口应该进行鉴权,防止非法调用
接口应该进行参数校验,防止恶意攻击
八、版本管理
接口的版本应该进行管理
接口的变更应该进行记录和通知
接口的兼容性应该进行测试和验证
九、日志记录
记录接口的调用情况和错误情况
记录接口的性能指标
记录接口的版本信息
十、测试和验证
接口的测试应该覆盖所有情况
接口的测试应该进行压力测试
接口的测试应该进行兼容性测试输出:RPC编程规范一、概述RPC(RemoteProcedureCall)是一种远程过程调用协议RPC编程规范是为了保证RPC调用的正确性、可靠性和高效性二、接口设计接口应该简单明了,易于理解和使用接口的参数和返回值应该尽量避免使用复杂的数据类型接口的命名应该符合规范,遵循驼峰命名法三、传输协议传输协议应该选择可靠性较高的协议传输协议应该支持压缩和加密功能传输协议的版本应该保持一致四、序列化协议序列化协议应该选择效率高、可扩展性好的协议序列化协议的版本应该保持一致序列化协议应该支持多种语言五、错误处理接口应该返回明确的错误信息错误码应该具有可读性和可维护性错误码应该分类清晰,错误码之间应该有明确的关系六、性能优化尽量减少网络传输的数据量尽量减少序列化和反序列化的时间尽量减少网络请求的次数七、安全性传输协议和序列化协议应该支持加密功能接口应该进行鉴权,防止非法调用