天天看點

項目開發計劃書節選

  項目相關定義 每個團隊開發都應有自己的一套規範,一個優良可行的規範可以使我們工作得心應手事半功倍。由于此項目開發的分散性、獨立性、整合的互動性等,為了有利于項目的整體風格統一、代碼維護和擴充,是以定制了這套簡單的約定和規則。 本文檔将定制一系列約定和規則,他們分别包括代碼目錄約定、檔案夾命名規則、檔案名命名規則、程式代碼程式設計風格、資料庫設計約定。這些規則和約定需要與開發人員、設計人員和維護人員共同讨論定制,将來開發都将嚴格按規則或約定開發 2.1.1項目目錄約定 ****電信[數字***]英文DigitizeSLSys ----------Project目錄(即DigitizeSLSys)        |-----------Inc/     公用伺服器端函數定義(整個項目公用)        |-----------JsInc/    JavaScript共用函數(整個項目公用)        |-----------Database/ 資料庫相關檔案(如為sqlserver,把*.sql放到這裡面)        |-----------Include / 引用頭檔案(top等,整個項目公用) |-----------首頁相關頁面程式代碼檔案        |-----------子產品目錄/              (每個子產品都按此約定)        |             |---------Inc/     公用伺服器端函數定義(本子產品公用,比如資料庫連接配接)        |             |---------JsInc/    JavaScript共用函數(本子產品公用)        |             |---------UpPic/   上傳圖檔的儲存目錄        |             |---------Upfile/   上傳檔案的儲存目錄        |             |---------Images/   圖檔的目錄        |             |---------Css/     頁面css風格目錄        |             |---------Include/ 引用頭檔案(top等)        |             |---------頁面程式代碼檔案        |-----------Admin/ 管理的代碼 |              |---------Inc/     公用伺服器端函數定義(本子產品公用,比如資料庫連接配接)        |             |---------JsInc/    JavaScript共用函數        |             |---------Images/   圖檔的目錄        |             |---------Css/     頁面css風格目錄        |             |---------Include/ 引用頭檔案(top等)        |             |---------頁面程式代碼檔案 2.1.2項目開發環境

體系結構: B/S
伺服器運作環境: Microsoft Windows 2000 Server/Windows 2003 server
WEB伺服器:       IIS5.0/IIS6.0
開發平台: Microsoft Visual Studio.NET 2005 + Dreamweaver8
ASP.NET
開發語言: C#
資料庫系統: Microsoft SQL Server 2005
關鍵技術: C# + Ajax
代碼管理: Microsoft Visual SourceSafe 2005

2.1.3項目代碼約定 2.1.3.1檔案指令約定(包括圖檔檔案) 1.         檔案名隻能用英文字母,第一個字母大寫,每個單詞第一個字母大寫,長度不要超過20字元。例:NewsLogo.gif 2.         代碼和界面分離:每一個頁面的界面用*.aspx命名,實作代碼用*.cs。 3.         類别相同檔案的命名分為頭和尾兩部分,如: RegisterForm.aspx    RegisterPost.aspx     LogoNews.gif               LogForum.gif 這樣是為了友善如果我們按檔案名稱排列的時候,相同類别的檔案能夠在一起。 2.1.3.2編碼約定 1.       資料庫連接配接符: Web.config檔案: <? xml version = "1.0"encoding="utf-8"?> <!--     注意: 除了手動編輯此檔案以外,您還可以使用     Web 管理工具來配置應用程式的設定。可以使用 Visual Studio 中的      “網站”->“Asp.Net 配置”選項。     設定和注釋的完整清單在     machine.config.comments 中,該檔案通常位于     /Windows/Microsoft.Net/Framework/v2.x/Config 中 --> < configuration >  < appSettings >     < add key = "DataConnectionString"value="workstation id=edg;packet size=4096;user id=Test;data source=localhost;persist security info=False;initial catalog=TestDB;password=123"/>  </ appSettings >  < connectionStrings />  < system.web >     <!--             設定 compilation debug="true" 将調試符号插入             已編譯的頁面中。但由于這會             影響性能,是以隻在開發過程中将此值             設定為 true。         -->     < compilation debug = "true" />     <!--             通過 <authentication> 節可以配置 ASP.NET 使用的             安全身份驗證模式,             以辨別傳入的使用者。         -->     < authentication mode = "Windows" />     <!--             如果在執行請求的過程中出現未處理的錯誤,             則通過 <customErrors> 節可以配置相應的處理步驟。具體說來,             開發人員通過該節可以配置             要顯示的 html 錯誤頁              以代替錯誤堆棧跟蹤。         -->     < customErrors mode = "RemoteOnly"defaultRedirect="GenericErrorPage.htm">       < error statusCode = "403"redirect="NoAccess.htm" />       < error statusCode = "404"redirect="FileNotFound.htm" />     </ customErrors >    </ system.web > </ configuration > 2.       實際調運的 ADO.NET運用   using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient;     /// <summary> /// 使用者注冊類(使用者注冊,并傳回ID) /// </summary>   public partial class _Default : System.Web.UI.Page {     protected void Page_Load(object sender, EventArgs e)     {       }     protected void Button1_Click(object sender, EventArgs e)     {         //VS2003 用:System.Configuration.ConfigurationSettings.AppSettings           SqlConnection Conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings.Get("DataConnectionString"));         Conn.Open();         SqlCommand CmdInsert = new SqlCommand("Users_Insert", Conn);         CmdInsert.CommandType = CommandType.StoredProcedure;                //VS2003 隻用:CmdInsert.Parameters.Add         CmdInsert.Parameters.AddWithValue("@UserType", UserType.Text.ToString());         CmdInsert.Parameters.AddWithValue("@UserName", UserName.Text.ToString());         CmdInsert.Parameters.AddWithValue("@UserPassWord", UserPassWord.Text.ToString());         CmdInsert.Parameters.AddWithValue("@UserEmail", UserEmail.Text.ToString());         SqlParameter parmReturnValue = new SqlParameter("@Userid", SqlDbType.Int);         int intAuthorCount;             parmReturnValue.Direction = ParameterDirection.Output;         CmdInsert.Parameters.Add(parmReturnValue);           SqlTransaction Trans = Conn.BeginTransaction();         try         {             CmdInsert.Transaction = Trans;             CmdInsert.ExecuteNonQuery();             intAuthorCount = (int)CmdInsert.Parameters["@Userid"].Value;             Trans.Commit();             Response.Write("<script>alert(' 祝賀您!使用者添加成功!');</script>" );             Response.Write(intAuthorCount);             CmdInsert.Dispose();             Conn.Close();         }         catch (Exception Err)         {             Response.Write(Err.Message);         } 3.       過程函數 : -- ================================================ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author:    Andy Lu -- Create date: 2007-2-12 10:46 -- Description:   使用者注冊 --               參數 -UserId :使用者 ID ; --              參數 -UserType :使用者類型; --              參數 -UserName :使用者名稱; --              參數 -UserPassWord :使用者密碼; --              參數 -UserEmail :使用者郵箱; -- ============================================= CREATE PROCEDURE [dbo].[Users_Insert] @UserId int output, @UserType int, @UserName nvarchar(50), @UserPassWord nvarchar(50), @UserEmail nvarchar(50) AS    begin tran       INSERT INTO [UserInfo]     (     [usertype],     [username],     [userpassword],     [UserEmail] )   values ( @UserType, @UserName, @UserPassWord, @UserEmail )   if @@error<>0 goto error set @UserId=@@identity   Commit tran return     -- 事務處理 ERROR:     set @UserId = 0     rollback tran go 2.1.3.3變量約定 2.1.3.3.1變量約定 每個變量第一個字母小寫,以後每個單詞第一個字母大寫。 出于易讀和一緻性的目的,變量名字的字首定義如下:

子類型 字首 示例
Boolean bln blnFound
Byte byt bytData
Date (Time) dtm dtmStart
Double dbl dblTolerance
Error err errOrderNum
Integer i iQuantity
Long l lQuantity
Object obj objCurrent
Single sng sngAverage
String str strFirstName
Array arr arrName

2.1.3.3.2變量格式 格式如下 : string strStfId = Session["UserId"].ToString().Trim(); string strStfId = Request.QueryString.GetValues("StfId").GetValue(0).ToString(); 2.1.3.3.3控件約定 建議是使用控件名簡寫作為字首,并且簡寫的首字母小寫,符合Camel規範。 格式:控件名簡寫+英文描述,英文描述首字母大寫 主要控件名簡寫對照表

序号 控件名 控件簡寫 備注
1 Label lbl lblId
2 TextBox txt txtName
3 Button btn btnOk
4 CheckBox chk chkSex
5 RadioButton rdo
6 CheckBoxList chklst
7 RadioButtonList rdolst
8 ListBox lst
9 DropDownList ddl
10 DataGrid dg
11 DataList dl
12 Image img
13 Table tbl
14 Panel pnl
15 LinkButton lnkbtn
16 ImageButton imgbtn
17 Calender cld
18 AdRotator ar
19 RequiredFieldValidator rfv
20 CompareValidator cv
21 RangeValidator rv
22 RegularExpressionValidator rev
23 ValidatorSummary vs
24 CrystalReportViewer rptvew

2.1.3.4資料庫約定 2.1.3.4.1命名約定 1.         庫的命名:隻能用英文字母,第一個字母大寫,每個單詞第一個字母大寫,長度不要超過20字元。 2.         Table命名約定:隻能用英文字母,第一個字母大寫,每個單詞第一個字母大寫,長度不要超過30字元。 3.         字段命名:隻能用英文字母,第一個字母小寫,每個單詞第一個字母大寫,長度不要超過30字元。 2.1.3.4.1連接配接庫約定 1.        在程式連接配接庫的時候請不要用sa賬号,請用為每一個庫單獨添加的user賬号連接配接。也就是說每建一個新庫,要單獨給他一個是用賬号,這個帳号提供給程式中用。 2.      在程式中請使用ADO.NET連接配接 2.1.3.5 注釋 2.1.3.5.1頭檔案注釋 在代碼檔案的頭部進行注釋,标注出創始人、創始時間、修改人、修改時間、代碼的功能,這在團隊開發中必不可少,它們可以使後來維護/修改的同伴在遇到問題時,在第一時間知道他應該向誰去尋求幫助,并且知道這個檔案經曆了多少次疊代、經曆了多少個程式員的手。例如: 注: 我們甚至可以在這段檔案頭注釋中加入版權資訊、檔案名、版本資訊等。 2.1.3.5.2函數、屬性、類等注釋(可擴充) 請使用 ///三斜線注釋,這種注釋是基于XML的,不僅能導出XML制作幫助文檔,而且在各個函數、屬性、類等的使用中,編輯環境會自動帶出注釋,友善你的開發。以protected,protected Internal,public聲明的定義注釋請都以這樣命名方法。 比如: /// <summary> /// 使用者注冊類(使用者注冊,并傳回ID) /// </summary> 2.1.3.5.3邏輯點注釋 在我們認為邏輯性較強的地方加入注釋,說明這段程式的邏輯是怎樣的,以友善我們自己後來的了解以及其他人的了解,并且這樣還可以在一定程度上排除 BUG。在注釋中寫明我們的邏輯思想,對照程式,判斷程式是否符合我們的初衷, 如果不是,則我們應該仔細思考修改的是注釋還是程式了。 2.2源檔案管理  所有網站相關的源檔案(包括文檔,圖檔等)均放到Microsoft Visual SourceSafe中統一管理。 源檔案修改前需要進行check out操作,然後進行操作,禁止手動更改本地源檔案隻讀屬性。修改完畢後,進行check in操作,更新源檔案,如有說明的必要,請在check in的時候寫上注釋說明。