在项目中经常会用到一些自定义常量,比如分页显示时每页的页数、论坛发帖时每个帖子的积分、用户等级的定义、标示超级管理员身份的权值等。这些变量大体分为两类:
1.允许用户修改并可以即时反映修改结果的常量(如分页显示的页数),这些常量维护系统的完整性,用户可以修改
2.用作标识特定资源的常量(如标识超级管理员身份的权值等),这些常量是保证系统的正确运行,用户不能修改
将需要用到的常量放到特定的文件中统一存取,这对于程序员来说是一个比较好的习惯,这样可以对常量进行统一管理,避免了各处定义的不同产生的错误。
按照我通常的做法,这两类常量分两个文件存放。
其中上述第一类尽量使用const关键字(“尽量”是因为如果常量要进 Dictionary 的话不能用const)
第二类可以在数据库中建表来存放,在 void Application_Start(object sender, EventArgs e) 和常量被修改时时使用反射更新数据库和类成员
对于同组的的常量,比如信息浏览的每页页数和信息管理的每页页数(都是和信息相关的),使用相同的前驱,如paging_info_view_xx 和paging_info_manage_xx ,然后用注释标记这些常量的作用