KT China Contents Management System开发标准定义书

asp.net 欲思 0评论

分享一个以前公司里面的系统开发标准定义书。对有些朋友应该很有用!

文档信息

项目:Contents Management System
项目管理员:文档版本号:Ver 1.0
项目阶段:分析文档版本日期:2012-01-20
制作人:***制作日期:2012-01-20
审批人:审批日期:   

制定.修改历史 

1.0

草案

2012/01/20

修改号

制定.修改页面及内容

制定.修改日期

 

      

1.      标准开发指南…. 4

1.1.      指南目的… 4

1.2.      标准制定方向… 4

1.3.      标准适用范围… 4

2.      开发环境…. 5

2.1.      系统结构图… 5

3.      开发工具…. 6

3.1.      开发工具概要及列表… 6

4.      App. Framework结构…. 7

4.1.      App. Layer. 7

5.      源代码管理…. 8

5.1.      源代码管理… 8

6.      .NET C# Coding标准…. 8

6.1.      类(Class)命名规则… 8

6.2.      变量命名规则… 9

6.3.      Method / Function命名规则… 10

6.4.      注释文… 10

6.5.      Using NameSpace顺序… 11

6.6.      其他规则… 12

7.      DB 标准…. 14

7.1.      DB 命名规则… 14

8.      UI 标准…. 17

8.1.      基本 Interface. 17

 

1.            标准开发指南

1.1. 指南目的

定义开发标准,以提高开发人员的生产性,便于系统维护,提高系统用户的操作简易性,并通过对系统的统一维护以求迅速应对用户需求为目的。

1.2. 标准制定方向

Ÿ  就所有页面的布局定义基本模板。

Ÿ  就程序开发时的产出物(源文件等)制定Naming Rule。

Ÿ  设定服务器及 DBMS的系统环境和初始值的标准规则或值。

Ÿ  就程序及开发源代码制定管理标准。

1.3. 标准适用范围

此标准适用于KT中国公司的Contents Management System构筑项目。与本项目相关的开发人员将充分理解此标准的开发环境及Application结构,并使用指定的开发工具按照用语标准来开发。开发将以Application Layer中定义的结构按照代码管理标准遵守UI标准、开发语言标准、DB标准、共用模块标准来开发。

2.  开发环境

2.1. 系统结构图

2.1.1.  业务结构图

2.1.2.  系统结构图

2.1.3.     软件结构图

3.  开发工具

数据库:Microsoft SQL Server 2008

Web Application:Microsoft Visual Studio 2010

Framework:.NET Framework 4.0,ASP.NET MVC v3.0, ASP.NET Web Pages, Jquery v1.7.1,
JqueryUI v1.8.16, Jquery Plugins

3.1.      开发工具概要及列表

Software

Ver

区分

用途

Microsoft Visual Studio 2010

v10.0

LanguageWeb App 开发工具
Microsoft SQL Server 2008

v10.0

Database用于资料管理的Database
Dreamweaver CS4

v10.0

Html EditorHtml, Editor
Edit Plus

v2.0

Asp EditorAsp Editor
Adobe Photoshop CS4

v10.0

Graphic ToolImage Source 制作
Adobe Illustrator CS4

v10.0

Graphic ToolImage Source 制作
Microsoft Office 2007 CS4

v13.0

文档制作 Tool文档制作

 

4.Web Application Framework结构

4.1.Framework结构

5. 源代码管理

5.1.      源代码管理

 

6. .NET C# Coding标准

  1. .NET C# Coding标准的一般命名规则以 Full Name 为优先。
  2. 尽量不使用缩写或匈牙利标记法。
  3. 所有名称用其他使用者也易于理解的单词组合命名。
  4. 相同名称而大小写不一的不一起使用。
    例如 SqlDatabase和 SQLDatabase 也不要一起使用。
  5. 单词的最前或最后有Underline的名称不予使用。
    例如 _name, console_, _system_ 等单词不予使用。

6.1. 类(Class)命名规则

m  一般Class, Enum及Interface

Class和Interface的名称遵守 Full English Description方式。名称的首字母必须大写,其他则用小写字母。文件名尽可能使用名词命名。例:

Product, Content, Customer, User, June

独立语的首字母必须是大写。两个单词组合使用时第二个单词的首字母也使用大写。例:

 ObjectManager, ObjectService, ProductLicense

已广为使用的 (公认的) Initial组成的单词尽可能使用大写。例:

DBManager, DAOService

Interface名通常与Class名相同。

m  Controller Class

与普通的Class名相同,Class名后加语尾“Controller”。例:

 ProductController, ContentController, UserController

m  Manager Class

与普通的Class名相同,Class名后加语尾“Manager”。例:

 ProductManager, ContentManager, UserManager

m  Models Class

与普通的Class名相同,Class名后加语尾“Models”。例:

ProductModels, ContentModels, UserModels

m  Exception Class

与普通的Class名相同,Class名后加语尾“Exception”。例:

 NameNotFoundException, DAOException

6.2.      变量命名规则

m  Class内部成员变量

  • 使用叙述形式的英文名称。
  • 首字母使用小写。
  • 像排序或矢量(Vector)类型使用复数型名称。

例:

private string firstName, zipCode, unitPrice, orderItems;
private String[] numbers = new String[10];
protected Collection items = new Collection();
  • 已广为使用的 (公认的) Initial组成的单词尽可能使用小写。

1. ID变量名

1) 使用属性+“id”方式。

m  Class属性变量

  • 使用叙述形式的英文名称。
  • 首字母使用大写。
  • 像排序或矢量(Vector)类型使用复数型名称。

例:

private string FirstName { get; set; }
private String[] Numbers { get; set; }
protected Collection Items { get; set; }
  • 已广为使用的 (公认的) Initial组成的单词尽可能使用大写。

1. ID变量名

1) 使用属性+“ID”方式。

m  局部变量

  • C#中局部变量是各Method内声明使用的变量。局部变量没有访问修饰符,只能在Method内部参考。局部变量使用C#的基本命名规则 (首字母为小写,各单词的首字母为大写,其他均为小写)。
public int getCalculatedValue() {
int minValue = 3000;
int maxValue = 2000;
int gap = maxValue – minValue;
int caculatedValue = ((gap – 10) / 10) + 25;
return caculatedValue;
}
  • 如下的特定类型的局部变量则有所不同。

1. 例外 (Exception)

1) 一般性例外 (Exception)使用 “ex”。

2) 其他 Exception 只提取大写字母并以小写使用。

- RemoteException re
- NumberFormatException nfe

2. 根变量名

1) 同C/C++形式的i, j, k 顺序使用。

3. 已广为使用的 (公认的) Initial组成的单词尽可能使用小写

1) 使用属性+“id”方式。

m  参数(Parameter)

  • 与局部变量的命名规则相同。
  • 为了避免Naming Hiding现象的发生,对成员变量添加“this”。
private String name;
private Object object;
public UserAuthodication (String name, Object object) {
this.name = name;
this.object = object;
}

m  常量属性(Constant)

  • 在C#项目执行中无需变更值的变量可定义为常量,便于以后的维护。在程序中仅更换特定值就无需修改其他部分也能使用。此类常量是具有const修饰符的变量。
  • 常量记述在类声明文后,并按public,protected,private的顺序记述。常量全部使用大写字母,需要组合两个单词时,单词间使用下划线(_)来区分。

例)

public const int MAX_VALUE = 10;
public const int MIN_VALUE = 20;

6.3. Method / Function命名规则

在Class外部使用public来指定访问修饰符,
只在Class内部使用的Method则只能用private或protected设置。
Method 名的首字母必须是大写字母。单词与单词组合中单词的首字母为大写字母。
例)

public string GetUserInfo(string userid) { return userid; }
public boolean IsAmount(String billid) { … }
private Collection SearchAccountByAccountNum(int number) { … }
  • 如下的特定类型的局部变量则有所不同。

1. 存储过程

1) 直接使用存储过程名称,全部大写>

6.4.  注释文

注释使用5种类型。

文档化的注释使用/** ~ */。

C Style的注释文使用/* ~ */。

Method / Function 注释使用
/// <summary>
/// Method / Function 名称及功能说明
/// </summary>
/// <param name=”参数名”>参数说明</param>
/// ……
/// <param name=”参数名”>参数说明</param>

功能划分注释使用region宏定义,比如:
#region 功能说明
……
#endregion

Line注释使用//。

6.5. Using NameSpace顺序

在C#里参考其他Class Library时,如使用using语句参考。

使用using语句最基本的规则是,将最根本的和标准的放在前面,子NameSpace位于父NameSpace下一行。按如下顺序使用即可。

  • 以System开始的NameSpace。
  • 包含公共类的Class Library的NameSpace。
  • 包含Manager类的Class Library的NameSpace。
  • 包含Models类的Class Library的NameSpace。
  • 其他的Class Library的NameSpace。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Mvc;
using WareMec.Utils;
using WareMec.DataSources;
using WareMec.Models;
using KTChinaCMS.Models;

6.6.其他规则

m  缩进量

每行的 column尽量设置为 80左右,以便代码在1024X768 mode的Editor中不会超过画面而一目了然。所有标识符和运算符之间插入空格。(例外 : ‘(‘, ‘)’中不插入 space)

缩进量只使用制表位或4个空格。

通过编辑器制作新内容或修改时,不要使用DOS格式,而使用UNIX格式来编辑。

‘{‘ 要另起行。一行的长度超过80不便浏览时,采用如下规则分成两行。

  • 逗号(,)
public String GetArgumentName(String path, String type, int attributes,
boolean securityCheck, int commonRule, String databaseName);
  • 运算符(+. -. /, *, ||, |, &&, &)
maxValue = GetField(CENTER) + GetField(LEFT) + GetField(RIGHT) + GetField(UP) + GetField(DOWN) + INT_VALUE;
  • 分成三行以上时,与第二行保持一致
initValue = GetArgumentName(“c:\\temp”, MESSAGE, 4,GetDefaultSecurityPolicy(SecurityPolicy.SYSTEM), ArgumentList.WRITE,“tisweb/common”);
  • class, method, if, for, while, try-catch 语句中的 ‘{‘ 使用方法
public class MessageBroker : Message
{
private int num = 10;
public String GetMessageInstance(int msgIndex)
{
try
{
if (msgIndex == 1)
{
…
}
else if (msgIndex == 2)
{
…
}
for (int i = 0; i < num; i++)
{
…
} 
while (msgIndex < num)
{
…
}
}
catch (Exception e)
{
…
}
}
}

m  空格

为了区分Keyword和 Method,所有关键词 (if, switch, for, while, catch) 后面的小括号与关键词保持一个空格距离。(而Method则与小括号挨着使用,不留空格)

  • 所有逗号后面留一个空格。
  • 赋值运算符(=) 前后各留一个空格。
  • 自增预算符(++)和自减预算符(–),表示负数的负值运算符(例: -3)除外的其他运算符均在前后各留一个空格。

m  字体及字号

  • 字体 : MS Sans Serif
  • 字号 : 10

7. DB 标准

7.1.  DB 命名规则

对数据模块中所需的实体/属性,表格/Column等对象制定命名规则。

7.1.1.     实体命名的实例

Object

格式

实例

Table模块 + “_” + 数据模型名称CM_USERS
View“UV_” + 数据模型名称VW_USERS
Stored Procedure模块 + “_” + 数据模型名称+ “_” + 功能名称CM_USERS_LOGIN
Trigger“TR_” + 表名TR_CM_USERS
Primary Key“PK_” + 表名PK_CM_USERS
Foreign Key“FK_” + 从表数据模型名 + “_” + 主数据模型表名 + “_” + 引用字段FK_USERS_BRANCHES_BRANCH_ID
Unique Key“UK_” + 表名UK_CM_USERS
(Non) Clustered Index“IX_/CIX_” + 表名CIX_CM_USERS
Constraint“CT_” + 表名 + “_” + 字段名CT_CM_USERS_GENDER
Default Value“DF_” + 表名 + “_” + 字段名DF_CM_USERS_GENDER

 

7.1.2.Table

Table的基本命名规则如下。

基本命名规则

使用30个字符以内的ALPHANUMERIC。

1~3: 表示数据模型分类的模块的英文 (“CM_”)

4~: 表示表格的部分,可ALPHANUMERIC以及“_”

例) CM_USERS, CM_PRODUCTS

7.1.3.Column

定义数据物理模块的Column名,其基本命名规则如下。

基本命名规则

使用30个字符以内的ALPHANUMERIC的大写,多个单词间使用“_”区分。

使用大写。原则是使用全名,已知的可以使用缩略词。

例)USER_ID:用户ID;ORG_NAME: 组织名

7.1.4. Primary Key

定义数据物理模块的主键名,其基本命名规则如下。

基本命名规则

‘PK_’+‘表名’

例) PK_CM_USERS

7.1.5. Foreign Key

定义数据物理模块的外键名,其基本命名规则如下。

基本命名规则

‘PK_’+‘从表数据模型名’ + ‘_’ + ‘主数据模型表名’+‘_’+‘引用字段’

例) FK_USERS_BRANCHES_BRANCH_ID

7.1.6. Unique Key

定义数据物理模块的唯一键名,其基本命名规则如下。

基本命名规则

‘UK_’+‘表名’

例) UK_CM_USERS

7.1.7.  Constraint

定义数据物理模块的约束条件,其基本命名规则如下。

基本命名规则

‘CT’+‘_’+‘表名’+‘_’+‘Column名’

例) CT_CM_USERS_GENDER

7.1.8.默认值

定义数据物理模块的默认值约束条件,其基本命名规则如下。

基本命名规则

‘DF’+‘_’+‘表名’+‘_’+‘Column名’

例) DF_CM_USERS_GENDER

7.1.9. VIEW

定义数据物理模块的View名,其基本命名规则如下。

基本命名规则

‘UV’+‘_’+‘功能组合名’

例) VW_CM_USER_ATIVED_STAT

7.1.10.Index

定义数据物理模块的Index名,其基本命名规则如下。

基本命名规则

使用30个字符以内的ALPHANUMERIC。

1: CLUSTER(“C”): UNIQUE + CLUSTER = “C”(仅为集群(Cluster))

2~4: 表示Index的英文 (“IX_”)

5~: 表格的相应位置名称相同

~: Index使用范围 (“_” + 001~254)

例) CIX_CM_USERS_001 (Cluster) / IX_CM_USERS_002

7.1.11.共同事项

  1. 首字母为英文,并由英文字母和数字组成 (a ~ Z, 0 ~ 9),不使用特殊字符($, _, @ 等)。
  2. 最多只能使用30个字符。
  3. 使用用语标准中定义的用语。(如用语标准中没有时,相应业务Group Leader生成用语)
  4. 多个单词组合时,限制在3各单词以内,并用“_”组合。
  5. 需要使用T-SQL保留字的时候使用“[保留字]”格式区分保留字和数据库对象。

8.UI 标准

8.1.  基本 Interface

8.1.1. 框架 & 布局 & 格局 (Frameset & Layout & Grid)

确定页面的框架结构,布局和区域尺寸。

8.1.1.1. 首页

8.1.2.导航(Navigation) 结构

8.1.3. 颜色

Blue Tone : 长时间使用时可减少使用者的疲劳感。

8.1.4.Data Grid种类

基本格局(Baisc Grid) – 点击Column时可 ASC, DESC Sort

Group别的格局 : 按Group类别显示,点击每个项目时显示详细内容

基本 Master TABLE管理页面布局及操作顺序

关键词

(Component layout)

基本布局 (Basic Component layout)

按钮(FUNCTION)位置

数据加载时(Data Loding)

所有页面均不激活,显示等待窗口。

数据生成及更新时

-. 基本页面不激活的状态下,弹出基本DATA输入窗。

未填写必填项(*)时

-. 弹出如下提示文,要求用户填写。

转载请注明:欲思博客 » KT China Contents Management System开发标准定义书

如果你觉得这篇文章或者我分享的主题对你有帮助,请支持我继续更新网站和主题 !捐赠本站
喜欢 (3)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址