中小型網(wǎng)站或者Web項目的開發(fā)規(guī)范
中小型網(wǎng)站或者Web項目的開發(fā)規(guī)范201*年07月26日星期日15:22
在Web項目開發(fā)中有前后臺開發(fā)之分,前臺開發(fā)主要是指非程序編程部分,主要職責(zé)是網(wǎng)站AI設(shè)計、界面設(shè)計、動畫設(shè)計等。而后臺開發(fā)主要是編程和網(wǎng)站運行平臺搭建,其主要職責(zé)是設(shè)計網(wǎng)站數(shù)據(jù)庫和網(wǎng)站功能模板的實現(xiàn)。下面的這些規(guī)范主要是從這2個方面來定制的,本文檔比較適合中小型網(wǎng)站或者Web項目的開發(fā)規(guī)范。1.組建開發(fā)團隊
在接手項目后的第一件事是組建團隊。根據(jù)項目的大小團隊可以有幾十人,也有可以是只有幾個人的小團隊,在團隊劃分中應(yīng)該含有6個角色,這6個角色是必須的,分別是項目經(jīng)理,策劃,美工,程序員,代碼整合員,測試員。也許你的團隊還沒有6個人,沒有關(guān)系一個人可以有多個角色,比如項目經(jīng)理還可以有策劃這個角色,如程序員還可以含有代碼整合和測試這2個角色,如果你的項目夠大人數(shù)夠多那就分為6個組,每個組分工再來細分。下面簡單介紹一下這6個角色的具體職責(zé)。
項目經(jīng)理:項目總體設(shè)計,開發(fā)進度的定制和監(jiān)控,定制相應(yīng)的開發(fā)規(guī)范,負責(zé)各個環(huán)節(jié)的評審工作,協(xié)調(diào)各個成員(小組)之間開發(fā)。
策劃:提供詳細的策劃方案和需求分析。還包括后期網(wǎng)站推廣方面的策劃。美工:根據(jù)策劃和需求設(shè)計網(wǎng)站AI,界面,Logo等。程序員:根據(jù)項目總體設(shè)計來設(shè)計數(shù)據(jù)庫和功能模塊的實現(xiàn)。
代碼整合員:負責(zé)將程序員的代碼和界面融合到一起,代碼整合員可以制作網(wǎng)站的相關(guān)頁面
測試員:負責(zé)測試程序。2.開發(fā)工具
Web開發(fā)工具主要分為3部分,第一部分是網(wǎng)站前臺開發(fā)工具,第二部分是網(wǎng)站后臺開發(fā)環(huán)境,第三部分是項目管理和輔助軟件。下面分別簡單介紹這三部分需要使用的軟件。
網(wǎng)站前臺開發(fā)主要是指Web界面設(shè)計。包括網(wǎng)站整體框架建立、常用圖片、Flash動畫設(shè)計等等,主要使用的相關(guān)軟件是:AdobeIllustrator、AdodbPhotoshop、DreamweaverMX、FlashMX等。
網(wǎng)站后臺開發(fā)主要指網(wǎng)站動態(tài)程序開發(fā)、數(shù)據(jù)庫建模,主要使用的相關(guān)軟件是:PowerDesigner(數(shù)據(jù)庫建模),PowerDesigner在數(shù)據(jù)庫設(shè)計方面應(yīng)用非常強大,用它可以快速創(chuàng)建數(shù)據(jù)庫概念和物理模型,我最喜歡的還是它生成數(shù)據(jù)庫Report的功能太方便了,設(shè)計數(shù)據(jù)庫強烈推薦用它。RationalRose(程序建模),如果你的項目功能模塊不是特別復(fù)雜那就剩了它吧,這樣會節(jié)省一些時間和開發(fā)的復(fù)雜度,不過我個人認為不管是大項目還是小項目都應(yīng)該畫畫Rose圖。網(wǎng)站項目管理主要指對開發(fā)進度和代碼版本的控制。開發(fā)進度用
MicrosoftProject來制定,代碼版本控制采用VisualSourceSafe,當然還有其他的選擇比如CVS和RationalClearCase。網(wǎng)站測試采用VS.net的附帶工具MicrosoftApplicationCenterTest,它可以進行并行、負載測試等。程序文檔編寫采用Word。3.網(wǎng)站開發(fā)流程
由項目經(jīng)理牽頭,以程序員為重心,共同討論,完成用戶需求分析,產(chǎn)生網(wǎng)站的欄目規(guī)劃(用樹形圖表示),標出哪些是靜態(tài)頁面,哪些是動態(tài)頁面。動態(tài)頁面須要程序?qū)崿F(xiàn)。制定網(wǎng)站的界面框架,包括首頁構(gòu)圖,及各頁面間的鉤稽關(guān)系。產(chǎn)生各欄目文件夾的結(jié)構(gòu)圖(一些公共文件夾如images、scripts、styles等需要固定存放,共同調(diào)用)。
然后由美工根據(jù)內(nèi)容表現(xiàn)的需要,設(shè)計靜態(tài)網(wǎng)頁和其它動態(tài)頁面界面框架,該切分的圖片要根據(jù)尺寸切割開來。給需要程序動態(tài)實現(xiàn)的頁面預(yù)留頁面空間。制定字體、字號、超級鏈接等CSS樣式等。在美工設(shè)計頁面的同時,程序員著手開發(fā)后臺程序代碼,做一些必要的測試。美工界面完成后,添加程序代碼,組合網(wǎng)站,由項目組共同聯(lián)調(diào)測試,發(fā)現(xiàn)bug,完善一些具體的細節(jié)。最后進行網(wǎng)站部署。以上的每一部都會產(chǎn)生一些階段性成果,項目經(jīng)理需要及時進行審核、監(jiān)督,發(fā)現(xiàn)問題即使糾正。
4.技術(shù)規(guī)則約定(1)數(shù)據(jù)庫命名約定
表命名約定:表名長度不能超過30個字符,單詞首寫字母大寫,多個單詞間不用連接符號。
字段命名約定:字段名盡量采用英文單詞,單詞首字母大寫,單詞之間用"_"隔開,命名規(guī)則是"表類別名_單詞",如:User_Info,News_Content。視圖命名約定:采用規(guī)則View_表A_表B_表C,其中View表示"視圖"。這個視圖由幾個表產(chǎn)生就用連字符"_"連接幾個表的名,如果表過多可以將表名適當簡化。
存儲過程命名約定:P_表名_存取過程名(縮寫),比如P_User_Deleted。(2)文件夾命名約定公共文件夾:/images公共圖片/styles樣式表/scripts腳本/ftps下載
/doc網(wǎng)站相關(guān)素材、文檔/readme.txt網(wǎng)站說明文檔/helps.htm網(wǎng)站幫助文檔/mylogs.txt網(wǎng)站維護記錄
其它欄目的命名,可以用拼音首字母簡稱,也可以用英文單詞。全部文件夾的含義在readme.txt文件中說明。
(3)對象及變量命名約定5.小經(jīng)驗
(1)能用靜態(tài)網(wǎng)頁表現(xiàn)的內(nèi)容,盡量不用程序代碼動態(tài)實現(xiàn)。
(2)設(shè)計階段,必須和用戶進行充分的交流,完全、準確的了解用戶的需
求。既不能歪曲用戶的意思,也不能一味迎合用戶的非正當需求,也不能對自己沒有把握的技術(shù)甚至不可能實現(xiàn)的技術(shù)夸下?凇P枨蠓治鍪且粋溝通、交流、引導(dǎo)、教育、斗爭、妥協(xié)的過程。需求分析結(jié)果要有文字資料存檔。
(3)技術(shù)參數(shù)必須了解準確。比如用戶的軟件平臺是linux系列,那你的
系統(tǒng)就只好用Java+Apache開發(fā)了,這時候你的ASP.NET技術(shù)就用不上了。(4)在必要的時候,讓用戶對已經(jīng)確定的需求內(nèi)容簽字,蓋章。
擴展閱讀:漫談網(wǎng)站開發(fā)規(guī)范
漫談網(wǎng)站開發(fā)規(guī)范
任何一個項目或者系統(tǒng)開發(fā)之前都需要定制一個開發(fā)約定和規(guī)則,這樣有利于項目的整體風(fēng)格統(tǒng)一、代碼維護和擴展。由于Web項目開發(fā)的分散性、獨立性、整合的交互性等,所以定制一套完整的約定和規(guī)則顯得尤為重要。本文檔將定制一系列約定和規(guī)則,他們分別包括組件團隊、文件夾命名規(guī)則、文件名命名規(guī)則、程序代碼編程風(fēng)格、數(shù)據(jù)庫設(shè)計約定。這些規(guī)則和約定需要與開發(fā)人員、設(shè)計人員和維護人員共同討論定制,將來開發(fā)都將嚴格按規(guī)則或約定開發(fā)。每個團隊開發(fā)都應(yīng)有自己的一套規(guī)范,一個優(yōu)良可行的規(guī)范可以使我們工作得心應(yīng)手事半功倍,這些規(guī)范都不是唯一的標準不存在對與錯,也許有些地方與你當前使用的習(xí)慣相駁,很多地方都有爭議。比如很多人習(xí)慣設(shè)計數(shù)據(jù)庫時采用自動增長字段,而有些人(像我這樣的人)就堅決反對,各自都有比較充分的理由闡述自己的觀點,所以只好根據(jù)具體情況來采用相應(yīng)的策略。
廣告:d_text非常明顯在Web項目開發(fā)中有前后臺開發(fā)之分,前臺開發(fā)主要是指非程序編程部分,主要職責(zé)是網(wǎng)站AI設(shè)計、界面設(shè)計、動畫設(shè)計等。而后臺開發(fā)主要是編程和網(wǎng)站運行平臺搭建,其主要職責(zé)是設(shè)計網(wǎng)站數(shù)據(jù)庫和網(wǎng)站功能模板的實現(xiàn)。下面的這些規(guī)范主要是從這2個方面來定制的,這些規(guī)范是我這幾年學(xué)習(xí)工作中總結(jié)的一點小經(jīng)驗,本文檔比較適合中小型網(wǎng)站或者Web項目的開發(fā)規(guī)范。
1.組建開發(fā)團隊
在接手項目后的第一件事是組建團隊。根據(jù)項目的大小團隊可以有幾十人,也有可以是只有幾個人的小團隊,在團隊劃分中應(yīng)該含有6個角色,這6個角色是必須的,分別是項目經(jīng)理,策劃,美工,程序員,代碼整合員,測試員。也許你的團隊還沒有6個人,沒有關(guān)系一個人可以有多個角色,比如項目經(jīng)理還可以有策劃這個角色,如程序員還可以含有代碼整合和測試這2個角色,如果你的項目夠大人數(shù)夠多那就分為6個組,每個組分工再來細分。下面簡單介紹一下這6個角色的具體職責(zé)。
項目經(jīng)理,項目總體設(shè)計,開發(fā)進度的定制和監(jiān)控,定制相應(yīng)的開發(fā)規(guī)范,負責(zé)各個環(huán)節(jié)的評審工作,協(xié)調(diào)各個成員(小組)之間開發(fā)。策劃,提供詳細的策劃方案和需求分析。還包括后期網(wǎng)站推廣方面的策劃。美工,根據(jù)策劃和需求設(shè)計網(wǎng)站AI,界面,Logo等。程序員,根據(jù)項目總體設(shè)計來設(shè)計數(shù)據(jù)庫和功能模塊的實現(xiàn)。代碼整合員,負責(zé)將程序員的代碼和界面融合到一起,代碼整合員可以制作網(wǎng)站的相關(guān)頁面,測試員,負責(zé)測試程序。
2.開發(fā)工具
Web開發(fā)工具主要分為3部分,第一部分是網(wǎng)站前臺開發(fā)工具,第二部分是網(wǎng)站后臺開發(fā)環(huán)境,第三部分是項目管理和輔助軟件。下面分別簡單介紹這三部分需要使用的軟件。
網(wǎng)站前臺開發(fā)主要是指Web界面設(shè)計。包括網(wǎng)站整體框架建立、常用圖片、Flash動畫設(shè)計等等,主要使用的相關(guān)軟件是:AdobeIllustrator、AdodbPhotoshop、DreamweaverMX、FlashMX等。網(wǎng)站后臺開發(fā)主要指網(wǎng)站動態(tài)程序開發(fā)、數(shù)據(jù)庫建模,主要使用的相關(guān)軟件是:PowerDesigner(數(shù)據(jù)庫建模),PowerDesigner在數(shù)據(jù)庫設(shè)計方面應(yīng)用非常強大,用它可以快速創(chuàng)建數(shù)據(jù)庫概念和物理模型,我最喜歡的還是它生成數(shù)據(jù)庫Report的功能太方便了,設(shè)計數(shù)據(jù)庫強烈推薦用它。RationalRose(程序建模),如果你的項目功能模塊不是特別復(fù)雜那就剩了它吧,這樣會節(jié)省一些時間和開發(fā)的復(fù)雜度,不過我個人認為不管是大項目還是小項目都應(yīng)該畫畫Rose圖。網(wǎng)站項目管理主要指對開發(fā)進度和代碼版本的控制。開發(fā)進度用MicrosoftProject來制定,代碼版本控制采用VisualSourceSafe,當然還有其他的選擇比如CVS和RationalClearCase。網(wǎng)站測試采用VS.net的附帶工具MicrosoftApplicationCenterTest,它可以進行并行、負載測試等。程序文檔編寫采用Word,如果你非常懷舊用WPS也可以。3.網(wǎng)站開發(fā)流程
在項目開始實施之前應(yīng)該有一個工作步驟也就是工作流程,在項目開發(fā)中最需要時間的是總體設(shè)計和系統(tǒng)測試,而程序編寫代碼所占的時間并不多,但有的團隊就急于開發(fā)寫代碼,先把程序?qū)懗鰜碓僬f,沒有注重評審和測試這2個環(huán)節(jié),結(jié)果造成返工,我在一家比較大的公司中都遇到多次這種情況。所以項目來了不要急于開工寫代碼,應(yīng)該一步一步慢慢來,只有走的慢才能走得穩(wěn)走得遠。圖1的開發(fā)流程比較好地體現(xiàn)開發(fā)的整個環(huán)節(jié)。
圖1
從圖1可以看到2條主線,這2條主線分別是前臺開發(fā)和后臺開發(fā)。前后臺開發(fā)在項目開發(fā)早期互相沒有交叉,當然不是絕對沒有,Web策劃和需求分析都是互相有關(guān)系的,一個是網(wǎng)站表現(xiàn)形式和風(fēng)格的策劃另一個是網(wǎng)站功能的策劃,它們是衣服和軀干的關(guān)系。到了開發(fā)后期就需要把界面和功能模塊結(jié)合起來形成一個統(tǒng)一,也就即將發(fā)布的網(wǎng)站
4.數(shù)據(jù)庫開發(fā)
數(shù)據(jù)文件命名采用系統(tǒng)名+_+文件類型,比如系統(tǒng)名為kupage,則數(shù)據(jù)庫文件命名為kupage_database.mdf,有的數(shù)據(jù)庫文件有多個,比如SQLServer就有2個,一個是數(shù)據(jù)庫文件,另一個是日志文件,那么他們的文件命名分別為kupage_database.mdf,kupage_log.log。文件名全部采用小寫。
數(shù)據(jù)庫表命名規(guī)范,表名長度不能超過30個字符,表名中含有單詞全部采用單數(shù)形式,單詞首寫字母要大寫,多個單詞間不用任何連接符號。若庫中有多個系統(tǒng),表名采用系統(tǒng)名稱+單詞或多個單詞,系統(tǒng)名是開發(fā)系統(tǒng)的縮寫,系統(tǒng)名稱全部采用小寫英文字符,如bbsTitle,bbsForumType。若庫中只含有一個系統(tǒng),那么表名僅用一個單詞或多個單詞。單詞選擇能夠概括表內(nèi)容的一個或多個英文單詞,如UserInfo,UserType。關(guān)連表命名規(guī)則為Re_表A_表B,Re是Relative的縮寫,如:Re_User_ArticleType,Re_User_FormType。數(shù)據(jù)庫字段命名規(guī)范,數(shù)據(jù)庫字段名全部采用小寫英文單詞,單詞之間用”_”隔開,命名規(guī)則是表別名+單詞,如:user_name,user_pwd。表別名規(guī)則,如果表名是一個單詞,別名就取單詞的前4個字母;如果表名是兩個單詞,就各取兩個單詞的前兩個字母組成4個字母長的別名;如果表的名字由3個單詞組成,你不妨從頭兩個單詞中各取一個然后從最后一個單詞中再取出兩個字母,結(jié)果還是組成4字母長的別名。
視圖名采用規(guī)則View_表A_表B_表C,View表示視圖。這個視圖由幾個表產(chǎn)生就用”_”連接幾個表的名,如果表過多可以將表名適當簡化,但一定要列出所有表名。
存儲過程命名規(guī)則P_表名_存取過程名(縮寫),比如P_User_Del,P_ArticleType_AddData。
SQL語句編寫規(guī)則,關(guān)鍵字必須大寫,其他書寫按上述命名規(guī)則,比如:
SELECTuser_id,user_nameFROMUserWHEREuser_id=‘tom’
5.文件夾文件名命名規(guī)范
文件夾命名一般采用英文,長度一般不超過20個字符,命名采用小寫字母。除特殊情況才使用中文拼音,一些常見的文件夾命名如:images(存放圖形文件),flash(存放Flash文件),style(存放CSS文件),scripts(存放Javascript腳本),inc(存放include文件),link(存放友情鏈接),media(存放多媒體文件)等。
文件名稱統(tǒng)一用小寫的英文字母、數(shù)字和下劃線的組合。命名原則的指導(dǎo)思想一是使得你自己和工作組的每一個成員能夠方便的理解每一個文件的意義,二是當我們在文件夾中使用“按名稱排例”的命令時,同一種大類的文件能夠排列在一起,以便我們查找、修改、替換、計算負載量等等操作。
1、圖片的命名原則名稱分為頭尾兩部分,用下劃線隔開,頭部分表示此圖片的大類性質(zhì)例如廣告、標志、菜單、按鈕等等。放置在頁面頂部的廣告、裝飾圖案等長方形的圖片取名:banner標志性的圖片取名為:logo
在頁面上位置不固定并且?guī)в墟溄拥男D片我們?nèi)∶麨閎utton在頁面上某一個位置連續(xù)出現(xiàn),性質(zhì)相同的鏈接欄目的圖片我們?nèi)∶簃enu
裝飾用的照片我們?nèi)∶簆ic
不帶鏈接表示標題的圖片我們?nèi)∶簍itle
下面是幾個范例:banner_sohu.gif、banner_sina.gif、menu_aboutus.gif、menu_job.gif、title_news.gif、logo_police.gif、logo_national.gif、pic_people.jpg。
2、動態(tài)語言文件命名規(guī)則性質(zhì)_描述,描述可以有多個單詞,用”_”隔開,性質(zhì)一般是該頁面得概要。
范例:register_form.asp,register_post.asp,topic_lock.asp
6.程序代碼編程規(guī)范
一個良好的程序編碼風(fēng)格有利于系統(tǒng)的維護,代碼也易于閱讀查錯。在此只討論ASP的編程風(fēng)格和約定。在ASP中所有變量是弱變量,無需定義就可以直接使用,而且代碼不區(qū)分大小寫。但其他語言一般這些都要定義的,為了養(yǎng)成良好的編程習(xí)慣,編寫代碼務(wù)必按照一下規(guī)則。
1、每個變量名必須定義,在ASP文件的最開始添加語句,強制定制每個變量。
2、出于易讀和一致性的目的,在代碼中使用以下變量命名約定:
子類型BooleanByteDate(Time)DoubleErrorIntegerLongObject前綴blnbytdtmdblerrintlngobj示例blnFoundbytRasterDatadtmStartdblToleranceerrOrderNumintQuantitylngDistanceobjCurrentSingleStringsngstrsngAveragestrFirstName
3、程序代碼需要有縮進,縮進采用鍵盤Tab鍵,不采用空格鍵。并且”=”或者鏈接字符串時需要左右空一格,如下:
4、函數(shù)過程編寫的約定。函數(shù)或者過程命名采用動作+名詞,每個函數(shù)需要給出相應(yīng)的注釋,函數(shù)功能,傳入變量,以及作者和修改相關(guān)信息。如下面函數(shù):EndFunction
5、ASP內(nèi)置對象區(qū)分大小寫。如下代碼片斷strUserName=Request.Form(“UserName”)Setconn=Server.CreateObject("ADODB.Connection")
6、數(shù)據(jù)庫連接一個庫只能有一個數(shù)據(jù)庫連接文件,創(chuàng)建數(shù)據(jù)庫對象得原則是盡可能晚地打開數(shù)據(jù)庫,盡可能早地關(guān)閉數(shù)據(jù)庫。創(chuàng)建數(shù)據(jù)庫對象調(diào)用統(tǒng)一地創(chuàng)建函數(shù)。如下:SubOpenConn(ByRefconn)DimstrDBPath,strDBConnection
strDBPath=Server.MapPath("database/tax.mdb")
strDBConnnection="Driver={MicrosoftAccessDriver(*.mdb)};DBQ="&strDBPath
Setconn=Server.CreateObject("ADODB.Connection")conn.OpenstrDBConnnectionEndSub
7、當一個對象不在使用時要釋放對象資源,比如objFSO,objRS對象等。采用統(tǒng)一函數(shù)調(diào)用。函數(shù)如下:SubCloseObj(ByRefobj)IfIsObject(obj)Thenobj.CloseSetobj=nothingEndIfEndSub
8、時間全部以字符串的形式保存到數(shù)據(jù)庫中,這樣做能夠是日期在不同的數(shù)據(jù)庫中都能良好地保存,也方便數(shù)據(jù)庫地遷移。時間用14位字符串保存,日期用8位字符串保存。
友情提示:本文中關(guān)于《中小型網(wǎng)站或者Web項目的開發(fā)規(guī)范》給出的范例僅供您參考拓展思維使用,中小型網(wǎng)站或者Web項目的開發(fā)規(guī)范:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。