码中使用具体的路径和驱动器名,使用相对路径,并使路径可编程。永远别设想你的代码是在"C:"盘运行。你不会知道,一些用户在网络或"Z:"盘运行
程序。
n 应用
程序启动时作些“自检”并确保所需文件和附件在指定的位置。必要时检查数据库连接,出现任何
问题给用户一个友好的提示。
n 如果需要的配置文件找不到,应用程序需能自己创建使用默认值。如果在配置文件中发现错误值,应用
程序要抛出错误,给出提示消息告诉用户正确值。错误消息需能帮助用户解决问题。
注释
n 别每行代码,每个声明的变量都做注释。在需要的地方注释。
n 可读性强的代码需要很少的注释,如果所有的变量和方法的命名都很有意义,会使代码可读性很强并无需太多注释。行数不多的注释会使代码看起来优雅。
n 如果因为某种原因使用了复杂艰涩的原理,必须为
程序配备良好的文档和详细的注释。
n 对注释做拼写检查,保证语法和标点符号的正确使用。
二、数据库设计规范
表格分类与命名
n 数据表的分类
u 系统表 支撑业务模型的数据表,如流程模型、系统管理相关表。
u 业务表 产品提供的针对业务的通用功能模块相关表,如通用业务
查询等。
u 用户表 用户二次开发使用的与具体业务相关的数据表。
n 数据表的命名
u 所有表格命名一律以字母“T”开头(Table),并且用实义单词以下划线“_”间隔。
u 系统表 系统表前缀为:TSYS_
u 业务表前缀为:TBIZ_
u 用户表由用户自行定义,但是建议不要与系统表和业务表的命名规则重复。
n 字段的命名
字段的命名规则参照代码标识符的命名规则,但是注意避开数据库的保留字。比如不要采用这样的字段名:index,field,password,id,Oracle,SQL等等。
对于涉及到技术核心的系统表,为了防止剖析,建议采用类似“F1,F2,F3……Fn”的方式命名。但是不要采用“F0”,因为这个名称在某些数据库中不被允许,比如Interbase。
索引的建立
n 索引是一把双刃剑,索引将提高
查询的效率,但是却降低了insert/delete/update 的效率。
n 通常情况下,对数据的编辑频度和时限要求远远低于对数据库的查询要求,因此对于记录很多且频繁
查询的数据表,必须建立索引。
n 大多数数据库为主键字段自动创建索引,注意为外键创建索引。
n 不要索引大字段,这样作会让索引占用太多的存储空间。
n 尽量不要索引频繁编辑的小型表。
n identify字段不要作为表的主键与其它表关联,这将会影响到该表的数据迁移。如果考虑支持多数据库,建议主键采用
程序生成的唯一值。
n 如果一个大型表需要频繁的做insert/delete/update操作,同时也需要做高并发量的
查询,那么建议根据数据的访问频度对表作拆分,而后建立索引。
过程与函数
数据库厂商为了凸现自身的优势,都提供了丰富且个性化的过程与函数。
为了提升产品的伸缩性和数据无关性,请不要使用与特定数据库相关的过程与函数,也不推荐采用Store Procedure,建议使用应用服务器的中间层业务对象。
字段/域的定义
n 尽量避免使用Blob,如果一定要用,请不要索引blob,并且不要定义多个blob。
n 不要使用日期字段,改用字符串char(19)替代,如:2008-12-09 12:22:08。
n 对于确定长度的串,请固定字段类型的长度,如char(80),不要采用varchar。
n 对于值类型字段,请使用对应的数据库值类型,而不要用字符串。
三、Com和.Net互操作规范
.NET 技术已经成为微软平台的主流,但是在Win32时代开发了很多COM、DCOM组件,由于在开发COM组件时投入了大量的人力、财力,如何在.NET环境下重用这些COM组件就显得更有意义。
.NET支持运行时通过COM、COM+、本地WinAPI调用与未托管代码的双向互操作性,要实现互操作性,必须首先引入.NET Framework的 Syste