我负责开发维护一个网站 已经三年了
这个网站从最开始的 简简单单的 几个列表页、内容页、专题页,现在已经发展到 数不清具体有多少个页面(粗略估计有100个不同的页面)
发展到现在,从来没进行过重构,导致网站臃肿到让人作呕,无论是 css js 还是 动态页面静态页面,真可谓一塌糊涂
现在仔细想想,如果要重新的去开发此站点,我首先会制定一个开发规范
1、首先是编码:统一采用UTF8
2、站点模式采用 : 动态站点 + 缓存站点 的形式
用户访问模式是: 用户浏览器 --> 缓存站点 --> 动态站点
动态站点:里面基本上全是动态网页 或者一些 ajax 调用的数据页
缓存站点:用户访问缓存站点 --> 缓存站点的程序判断缓存是否过期? 没过期的话,直接把缓存输出给用户;
过期的话 ,去请求动态站点的页面,把页面内容缓存到缓存站点
(站点名称尽量 和 磁盘目录名称一样,如 www.xx.com 对应目录 D:\webhost\www.xx.com 条理清晰规范)
(动态站点名称 规范:www.xx.com ,端口 ,对应的缓存站点名称为 www.xx.com.cache 绑定域名 www.xx.com )
尽量:做到 把域名直接绑定到 动态站点上面,用户可以访问,把域名绑定到缓存站点上用户也可以正常访问
动态站点中只有 aspx ,ashx 等动态文件
3、静态资源(css js 样式图片等),统一存储到一个域名下面 如 static.xx.com
如:
新闻(news)的 样式、js、css 存储在 static.xx.com/news/ 下
专题(zt) 的 样式、js、css 存储在 static.xx.com/zt/ 下
评论(pl) 的 样式、js、css 存储在 static.xx.com/pl/
通用 样式 js css 存储在 static.xx.com/common/ 下
pic.xx.com 的样式、js、css 存储在 static.xx.com/pic/ 目录下
4、经常会出现多个站点调用相同的部分 的情况
如:news.xx.com、game.xx.com、www.xx.com 站点网页里面 的头部、底部 都是一样的html
service.xx.com/Header.aspx 通用头部
service.xx.com/Footer.aspx 通用底部
还有好多地方会调用一些共同的数据,而不同的是数据数量的差别 就可以按照下面方式:
service.xx.com/Album.aspx/getHotAlbums?count=10 获得前10个热门相册列表
service.xx.com/Album.aspx/getLastAlbums?count=5 获得最新的5个相册列表
service.xx.com/Album.aspx/getRecAlbums?count=4 获得4个推荐相册
5、数据库规范
划分数据库 如一个站有 新闻系统、软件系统、专题系统、相册系统、评论系统等
数据库安装系统划分,不要一股脑的什么都放到一个库中
新闻系统数据库名就是: XX_NEWS
软件系统数据库名就是: XX_SOFT
专题系统数据库名就是: XX_ZT
相册系统数据库名就是: XX_ALBUM
评论系统数据库名就是: XX_PL
数据库尽可能简单,不要有多余的东西,
从我使用数据库的经验来看,数据库要做的就是 存储数据,尽量不要把逻辑放到数据库中
我自己认为理想化的数据库 里面只有 表和数据,其他像视图、存储过程、触发器、默认值 等等等尽量还是少用
把逻辑和验证都交给程序来处理
6、站点功能尽可能简单
比如站点中常常有 评论功能、顶踩功能
这些功能都以单独的模块形式去开发,便于在其他系统中调用