Solartimes共识——开发

总则:
全小组开发共识,必须共同遵守,共同实现
如本共识中未列出之内容,需要添加或达成共识的,必需通过全小组通过并加入此共识
开发:
UI:
1、Server端验证用户输入,用Validate Summary出错信息
2、用Button的事件处理事务,不要在Page_Load的时候就处理事务,即使点击Button之后,页面会刷新,都要用Button的Click事件做
3、页面控件在Codebehind的声明复制多一份,以防.Net的IDE在页面转换的时候,丢失了声明,将会导致控件的不可用
4、如果页面控件无事件实现,则删除其在CodeBehind中声明的WithEvent
5、如果多个DIV根据状态Show/Hide的,则在CodeBehind中设置Public的该状态属性,
然后在页面中使用Script调用该属性来控制DIV的Show/Hide,不要在CodeBehind中将整个html都gen出来
6、用通用基类ContorlBase中的LinkAttribute方法生成界面上Link节点href的属性值
7、控件命名规则,参照《命名约定(VB)》中对控件命名部分的描述,需要.Net部分的扩展
DB:
总则:如果为实现某一功能使用的Code非常复杂,证明这种方法有误。(SQL)
表:
每个表都必备的字段:
XXID:XX根据表名,例如:tbs_Post表中的该字段就应该命名为:PostID,该字段类型为Int,自增长,步长1,PK(主键)
CreateDate:每条记录的建立日期都记录在该字段,该字段为DateTime类型,默认值为Getdate()
UserID:建立该记录的用户ID,int,
UserName:建立该记录的用户名,nvarchar(255)
表命名:
小写模块名_表名(功能/数据内容描述),例如:tbs_Post、tbs_TokenLog
冗余:
对一些字段,经常需要用到的,但是却需要通过2个表才能计算获得的,那么令这个字段在2个表中都存在
Log:
每条记录进行写操作的时候都记录log,log表属性如下:logID,TableName,RecordID,Description
删除记录:
先将记录复制到另一个表以备份,然后才删除该记录
存储过程:
针对每个表都必须有如下几个存储过程:增、删、改、列表、明细
存储过程命名:
小写模块名_子模块名(骆驼)_(操作/结果)描述
例如:tbs_Post_Insert(新增)、tbs_Post_Delete(删除)、tbs_Post_Update(修改)、tbs_Post_Detail(明细)
列表:1、tbs_Post_GetIDByType;2、tbs_Post_GetList
列表功能现在的做法,需要2个存储过程,1只用来获取列表记录的ID,2通过1中获得的ID获取指定记录
所以,如果有多种获取ID的方法,可以通过增加1类型的存储过程(只获取ID的)来增加功能,2存储过程不必增加
例如,tbs_Post_GetIDByCreateDate
BO:
Class中:
不要加类型
Public变量,骆驼写法,例如:SpliteChar
Private变量,下划线开头,且首单词小写,例如:_spliteChar
function中的参数:首单词小写,例如:spliteChar
posted on 2006-04-13 17:51  Konimeter  阅读(438)  评论(0编辑  收藏  举报