在T31训练营中已经上了3节课,从上课到现在已有一周的时间了,在这一周时间内,我们按照正常项目开发进行前期工作的流程讲解及其中开发中需要注意的规约,及一些实际开发中真正使用的知识点。
一、数据库方面:
表名:可以按照数据表的使用来进行分类,然后用不同的分类前缀或后缀来标识,方便快速识别其用户。
- 基础数据类。这些数据表在系统上线前就必须初始化好的。比如:城市,省份,部门类型等。表名规范: [项目名]_sys_表名;例如:bsy_sys_City
- 业务数据类。这些数据表在系统测试或运行阶段不断增长的。比如:用户数据,订单数据。 表名规范: [项目名]_biz_表名;例如:bsy_biz_User
- 日志数据类。这些数据表用来记录系统运行过程中的日志信息。 比如:错误日志,操作日志 .表名规范: [项目名]_log_表名;例如:bsy_log_OperateLog
- 临时数据类。这些数据表是在系统测试或运行中,动态创建产生的。比如:临时表。 表名规范: [项目名]_temp_表名;例如:bsy_temp_TodayPhone
通过对表名得一些规范命名,可以很快识别那些表的作用。在做数据迁移时,就不会对上百张表的数据都需要迁移时手忙脚乱了。
为了方便数据在不同数据库的迁移,最好了解不同数据库在命名上的一些要求。
比如: Mysql数据库对表名,对象名等其名字长度不超过30个字符。所以如果系统要同时适应Oracle ,SqlServer 。那么就要控制表名,这样方便日后做数据迁移。
存储过程命名:
存储过程中的变量命名: 参数使用一个固定前最,过程内部变量使用一个前缀。比如:
参数统一使用帕斯卡命名法 变量名 。内部变量使用 l_变量名 (l = local)
二、Java异常机制
- 异常应当描述导致当前异常发生的原因
- 根据异常栈应当能够快速定位到异常发生的位置
- 结合异常描述和异常栈应当能解决异常
三、日志设计
日志用来记录用户操作、系统运行状态等,是一个系统的重要组成部分。然而,由于日志通常不属于系统的核心功能,所以常常不被团队成员所重视。对于一些简单的小程序,可能并不需要在如何记录日志的问题上花费太多精力。但是对于作为基础平台为很多产品提供服务的后端程序,就必须要考虑如何依靠良好的日志来保证系统可靠的运行了。
好的日志可以帮助系统的开发和运维人员:
1. 了解线上系统的运行状态
2. 快速准确定位线上问题
3. 发现系统瓶颈
4. 预警系统潜在风险
5. 挖掘产品最大价值
日志分类
诊断日志
- 请求入口和出口
- 外部服务调用和返回
- 资源消耗操作:打开文件,IO等
- 容错行为
- 程序异常,Exception
- 后台操作:多线程等
- 关键程序的启动、关闭、配置加载
统计日志
- 用户访问统计
- 下单、支付日志
审计日志
- 管理操作