html相關的一些規範(轉轉)

 所用到的都是ASP讀寫數據庫操作.
沒有具體的規則.
現在給你些資料
一.頁面設計部分
1.img控件
alt:所有展示類圖片都要具有能簡要描述圖片內容的文字說明。
2.Input控件
maxlength:所有INPUT控件都需要制定maxlength屬性,默認值爲數據庫中對應的字段的長度。
readonly:所有不可更改的信息都要使用readonly屬性。
3.Form控件
action:所有Form都要指定action,如果提交給本身就指定action=""
method:執行不可逆動作使用POST,可逆動作使用GET
onsubmit:所有form都要指定提交前需要的檢查程序。
所有form都要有對應的reset button。
4.button控件
onclick:form中用於提交的button不容許使用此方法,所有數據檢查通過form的onsubmit激活。
5.title屬性
所有頁面都要具有和本頁標題相同的title。
6.控件的命名
採用控件類型縮寫(小寫)+英文單詞(第一個字母大寫)的方法。
開發中控件基本涉及一下幾類
button:btn
form:frm
select:sel
textarea:txt
input:ipt
7.語言設置
所有中文頁面都要加上如下語句:
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
8.控件屬性賦值
所有控件的屬性值都要使用雙引號或者單引號包括起來。

二.客戶端程序部分
1.錯誤提示信息的處理(2-1)
所有錯誤信息全部使用中文提示錯誤信息,標點使用中文半角符號,格式如下:
"錯誤:"+提示信息+"!"
2.成功提示信息的處理(2-2)
所有成功信息全部使用中文提示成功信息,標點使用中文半角符號,格式如下:
"成功:"+提示信息+"!"
3.頁面的返回
所有需要返回上一頁的時候使用history.back();不使用history.go(-1);
需要返回前n頁(n>1)時使用history.go(-n);
所有返回都使用連接的方式而不是button。
4.提交前數據的判斷
保證提交前的數據都會通過JavaScript進行數據類型以及長度的判斷
是否爲數字:使用函數isNaN()
長度判斷: 長度要判斷去掉前後空格後的實際長度
爲空判斷: 所有不容許爲空的輸入字段都要在去掉前後空格後進行判斷,同時如果該字段爲查詢條件則必須不能爲空
如果判斷條件發現數據錯誤,則通過(2-1)提示錯誤信息,然後通過方法focus()聚焦錯誤字段。
5.刪除數據前的提示
所有涉及刪除的操作,在用戶選定以後都要再進行一次確認操作。

三.服務器端程序部分
1.數據的取得
通過Get,Post,連接傳遞過來的數據在使用前都要通過trim去掉數據前後的空格。
2.數據的判斷
通過request的得到的參數數據需要再次進行空,類型,和長度的判斷。
3.對象的關閉
所有數據庫和文件對象都要在使用後儘可能早的close,同時賦nothing。
4.提示信息
所有錯誤提示信息使用JavaScript提示,保證使用者看不到任何內部錯誤信息。(如1-1)
涉及數據庫Update,Del,Insert的操作成功都要提示。(如1-2)
5.變量的使用
所有變量在使用前都需要聲明,並且賦初值。
6.變量的命名
採用變量類型縮寫(小寫)+英文單詞(第一個字母大寫)的方法。
開發中變量基本涉及一下幾類
整數:i
小數:f
字符: s
布爾:b
日期:d
特殊的:
循環依次採用i,j,m,n;
數組用ary
指針p,q
臨時變量tmp

七.SQL語句
1.排序
order時應該儘量提前使用建立索引或者主鍵的字段排序。
2.select
select時避免使用*,即使需要所有字段也應儘量一個一個按照使用的順序羅列出來。
3.儘量避免使用in和not in


八.測試
所有頁面要在800*600,1024*768兩種分辨率下運行通過。
所有頁面要在IE5.0,5.5以及6.0下運行通過沒有JavaScript錯誤。

****************************************************************

WEB編碼規範
編制人:walaqi
第一章 ASP編碼規範通述
ASP編碼分爲兩大部分,一部分爲靜態文件編碼,一部分爲包含服務器端腳本的動態文件編碼。
靜態文件編碼分Script編碼和HTML編碼兩部分。
服務器端編碼則分爲服務器腳本、客戶端腳本、HTML腳本三部分。
編碼規範採用如下約定:
所有客戶端腳本一律使用JavaScript
所有服務器端腳本一律使用VBScript
靜態頁面輸出一律使用HTML腳本
本規範不適用於由服務器端腳本所產生的客戶端腳本代碼。
第二章 靜態文件編碼規範:
靜態文件腳本部分採用JavaScript編寫。輸出部分採用HTML標記語言。
1. HTML標記語言編碼規範
1.1 標記的換行規範:
* 一個標記必須佔用一行。不得出現兩個標記在同一行的情況(同一標記的關閉標記除外),如:
<tr><td>text</td></tr>
而必須寫成:
<tr>
<td>text</td>
<tr>
1.2 標記的關閉規範
* 靜態文件內容必須包含在<body></body>標記中間
* <body>標記必須包含在<html></html>標記中間
* 對於需要關閉的標記,如:
<html><title><body><table><tr><td><p><textarea><select><font><option><div><span>
必須同其關閉標記同時出現。如
<body>…<p>…<font>….</font>….</p>…..</body>
* 不得出現交叉包含的語句,如:
<p><font>…..</p></font>
1.3 標記的屬性賦值規範
對於接受屬性的標記,屬性值必須使用雙引號或者單引號包圍。如:
<body bgcolor=”red”>
<font size=’7’>
1.4 標記的縮進規範
* 最高一級的父標記採用左對齊頂格方式書寫。
* 下一級標記採用左對齊向右縮進一個Tab的方式書寫
在下一級依此類推,分別左對齊相對於父標記向右縮進一個Tab的方式書寫
* 同一級標記的首字符上下必須對齊。
2. 客戶端JavaScript規範
2.1 變量命名規範
* 常量以及全局變量名必須全部使用大寫字母
* 變量名首字母必須小寫。
* 變量名必須使用其類型的所寫字符串開始。各種類型的所寫字符串如下:
* 整型變量:int
* 長整型變量:lng
* 浮點型變量:flt
* 雙精度變量:dbl
* 對象引用變量:obj
* 字符串變量:str
* Date類型變量:dtm
* 變量名必須採用有意義的單詞命名,如:
strUserName、lngArrayIndex
* 變量名除首字母小寫外,其他單詞首字符必須大寫
* 如果變量名過長可以使用單詞縮寫,除了被廣泛瞭解的單詞縮寫以外,所有使用單詞所寫的變量名必須在定義時給出註釋,如:
var strAdName //用於表示Administrator帳戶的名稱
var strAdminName //不用給出註釋,Admin被廣泛瞭解
2.2 變量使用規範
* 變量使用前必須定義。沒有定義的變量禁止使用
* 變量的使用盡量縮小到小的作用域。如循環使用
for(var I=0;I<12;I++){

}
而不是:
var I;
for(I=0;I<12,I++){

}
2.3 對象命名規範
各種頁面對象如text輸入框、按鈕、下拉選擇框在命名時必須使用以下對應前綴:
* text輸入框:txt
* button按鈕:btn
* select下拉選擇框:sel
* option項:opt
* form表單:frm
* frame框架:fra
* hidden表單項:hdn
* div標記:div
* span標記:span
* 對話框對象:dlg
* 窗口對象:win
2.4 函數以及子過程命名規範
* 函數命名必須使用動詞+名詞對的方式,並且能夠體現函數的功能
* 函數命名的動詞前綴必須是同函數功能相關的完整動詞
* 函數命名第一個單詞的首字母小寫,後面每一個單詞的首字母大寫
第三章 動態文件編碼規範
1. HTML書寫規範
HTML書寫規範必須符合靜態文件HTML標記書寫規範,參考(第二章第一節)
2. 客戶端腳本規範
動態文件客戶端腳本一律採用JavaScript書寫,並必須符合靜態文件編碼規範中有關JavaScript編碼規範的規定(參考第二章第二節)
3. 服務器端腳本書寫規範
服務器端腳本書寫採用VBScript書寫
3.1 命名規範
3.1.1 VBScript腳本變量命名規範
* 常量以及全局變量必須全部使用大寫字母
* 常量必須使用CONST_前綴
* 全局變量必須使用G_前綴
* 變量名首字母必須小寫。
* 變量名必須使用其類型的所寫字符串開始。各種類型的所寫字符串如下:
* 整型變量:int
* 長整型變量:lng
* 浮點型變量:flt
* 雙精度變量:dbl
* 對象引用變量:obj
* 字符串變量:str
* Date類型變量:dtm
* 變量名必須採用有意義的單詞命名,如:
strUserName、lngArrayIndex
* 變量名除首字母小寫外,其他單詞首字符必須大寫
* 如果變量名過長可以使用單詞縮寫,除了被廣泛瞭解的單詞縮寫以外,所有使用單詞所寫的變量名必須在定義時給出註釋,如:
dim strAdName ‘用於表示Administrator帳戶的名稱
dim strAdminName ‘不用給出註釋,Admin被廣泛瞭解

3.1.2 對象命名規範
各種對象如Connection、Recordset、Command在命名時必須使用以下對應前綴:
* Connection對象:conn
* Recordset對象:rs
* Command對象:cmd
* Parameter對象:param
* Field對象:fld
* Error對象:err
3.1.3 函數以及子過程命名規範
* 函數命名必須使用動詞+名詞對的方式,並且能夠體現函數的功能
* 函數命名的動詞前綴必須是同函數功能相關的完整動詞
* 函數命名第一個單詞的首字母大寫,後面每一個單詞的首字母大寫
3.1.4 常用變量命名規範:
說明:包含在[]中的部分爲可省略部分
* Connection對象:conn[Name]。Name爲所連接數據庫的服務器名字
* Recordset變量命名規範:rs[Name]。Name爲自定義的同rs存儲內容有關的英文單詞組合
* Command對象:cmd[Name]。Name爲自定義的同command目的有關的英文單詞組合
* SQL語句字符串變量:strSql[CommandName]。CommandName爲自定義的同Sql語句功能相關的英文單詞組合,如:
strSqlUpdateModify
strSqlInsertUser
3.2 代碼書寫規範
3.2.1 變量明確聲明原則
* 所有ASP程序文件,必須在代碼的第一行包含<%option explicit%>。轉爲變量明確聲明模式
3.2.2 字符集設定原則
* 所有將對客戶端產生中文輸出的ASP程序文件,必須在輸出前設定Charset爲”GB2312”.如:Response.Charset = “GB2312”
3.2.3 函數使用原則
* 儘量使用函數封裝代碼塊
* 連續代碼塊儘量不要超過50行。最多不得超過70行
* 儘量使用局部變量。
* 如有涉及到全局的資源,如Connection,儘量作爲函數的參數傳入
* 所有在函數內部創建打開的資源,在退出函數前必須關閉釋放。如:Recordset,Command
3.2.4 Request、Session、Application使用規範
* 所有需要放入Session、Application中的對象,必須採用有意義的英文名字。除了被廣泛瞭解的單詞縮寫以外,不得采用單詞縮寫。如:
Session(“cp”) = strCurrentUserIP ‘不允許
Session(“CurrentUserIP”) = strCurrentUserIP
Session(“Pwd”) = strPwd ‘允許,Pwd被廣泛瞭解爲密碼
* 所有需要在代碼內用到的Request、Session、Application中的元素,必須在代碼頭部賦值給代碼內聲明的變量。
* 如果獲得Form中提交的內容,必須使用Request.Form(“itemName”).
* 如果獲得QueryString中提交的內容,必須使用Request.QueryString(“itemName”)
* 不得在代碼中出現Request(“”)這樣的引用方式
3.2.5 HTML同服務器端腳本混合使用原則
* 服務器端腳本標記“<%”必須同其上一行緊鄰的標記左對齊,如:
<table>
<%
do while not rs.eof
%>
<tr>
<td>text</td>
</tr>
<%
rs.movenext
loop
%>
</table>
* 服務器端腳本標記“<%”同其後的代碼不得在同一行書寫
* “%>”同其前面的代碼不得在同一行書寫
* 服務器端腳本標記”%>”同其最近的”<%”標記對齊
* 服務器端內部的HTML代碼依據靜態文件的HTML縮進規則編寫,不遵循服務器端腳本縮進規則
* HTML標記內部的代碼,依據服務器端腳本的縮進規則,不遵循HTML代碼縮進規則 。

第四章 常見錯誤
1. ADO的事務處理
1.1 錯誤代碼:80004005。
1.1.1 錯誤描述:
Microsoft OLE DB Provider for ODBC Drivers 錯誤 ’80004005’
不能在 firehose 方式下啓動事務
1.1.2 解決方法:
在開始ADO的事務的時候,必須首先關閉使用同一個連接對象打開的記錄集,或者在打開那些遊標集之前,設置遊標集位置類型爲adUseClient.(使用客戶端遊標集)

第五章 代碼習慣書寫示例
1. ADO對象的使用
1.1 ADODB.Connection對象
1.2 ADODB.Command對象
1.3 ADODB.Recordset對象
1.3.1 創建:
Set rs = Server.CreateObject(“ADODB.Recordset”)
rs.CursorLocation = adUseClient
rs.Open strSql,conn,1[,1] ‘必須指定遊標類型

一、 註釋規範
A. 註釋標準:
l 功能註釋
功能註釋是指爲了對代碼本身進行解釋說明而進行的註釋。
註釋符采用“’”作爲統一的註釋符。
1.行內註釋
採用註釋符號 “’”
例:
Dim intFileNo As Integer ’ファイル番號取得用
2.整行(包括多行)註釋
採用註釋塊開始與塊結束標誌
36

’************************************



’************************************
l 修訂註釋
修訂註釋是指出於測試或者改錯等目的,對代碼進行了更改,而必須對此修改提供相關說明和醒目標記,並將原來的代碼加入註釋塊內。
只要有改動,無論單行還是多行均採用設置註釋塊開始與塊結束標誌的方法來明確標誌修改部分,清楚地進行解釋說明,便於查找和分辨註釋比較多的代碼段。
15 15

’*************** Modify Start ***************




’*************** End ***************
B. 需要註釋的地方:
聲明定義部分
對每個常量聲明進行註釋;
對每個變量及類、對象等的聲明進行註釋;
對每個自定義函數定義進行註釋;
對每個自定義子程序定義進行註釋;
代碼部分
對每個構件,在頂部進行註釋;
對每個條件選擇分支進行註釋;
對每個詳細設計中提到的關鍵點進行註釋;
對全局變量的使用進行註釋;

C. 註釋的內容:
l 對變量及常量聲明部分的註釋以行內註釋方式簡要描述其用途。

l 自定義函數及子程序等定義部分的頂部進行註釋:
’************************************
’ 概要:
’ 機能說明:
’ 參數說明:
’ 返回值:
’ 備註:
’************************************

l 代碼內部的行內註釋
說明具體代碼的運算規則,循環的內容,計數器的目的等等。

l 修訂註釋
’*************** Modify Start ***************
’ 修訂原因:
’ 修訂履歷:
’ 修訂者 修訂日期
’ 原始代碼:
’ Case 5 To 8
’ ……
Case 4 To 8
’*************** End ***************

D. 註釋的方法:
對代碼行可以在行尾加註釋(不能違反行寬的要求);
對單行代碼的註釋可以在上一行以“’”的形式添加簡單註釋;
對整段代碼的註釋放在代碼段之前;
註釋符統一採用“’”。


二、命名規範
A.通則
VisualBasic保留字可在VisualBasic設計器中根據顏色的變化看到。變量命名不可以使用保留字,應使用有意義的名字命名,不可使用簡稱和無意義的名稱諸如A,x1等。即便對於只用於循環計數的變量,也應該統一賦予有意義的名稱,例如longCnt等。
不能起太長的名字,應該儘量簡潔,長度限制應控制在32個字符之內。

B.常數
全部使用大寫字母以表明常數意義的名詞命名,不區分常數的類型:
Const DEFAULTCONCENTRATION As Single = 0.01

C.變量
命名必須使用大小寫結合(VB編輯器會自動轉換以減少程序出錯的機率)
變量命名採用[範圍前綴][數組前綴][類型前綴]+[自定義命名]
控件命名採用[控件前綴]+[自定義命名]

變量範圍做前綴
範圍 前綴 例子
全局變量 g gStrUserName
模塊級 m mStrUserName
過程級 無 StrUserName
數組前綴: a
類型前綴:
數據類型 前綴 例子
Boolean Bln BlnFound
Byte Byt BytRasterDate
Currency Cur CurBalance
Date Dtm DtmBeginDate
Double Dbl DblFee
Integer Int IntQty
Long Lng LngVcID
Single Sng SngAverage
String Str StrItemId
Object Obj ObjRmtsvr
ADODB.Recordset Rst RstItem
ADODB.Connection Cnn cnnNewsPaper
ADODB.Command Cmm CmmAddCustomer
Variant Vnt VntCheck
自定義類型 Udt UdtUserInfo
控件類型命名前綴
控件類型 前綴 例子
ADO Data ado AdoBiblio
Check box chk ChkReadOnly
Combo box, drop-down list box cbo CboEnglish
Command button cmd CmdExit
Common dialog dlg DlgFileOpen
Data-bound combo box dbcbo DbcboLanguage
Data-bound grid dbgrd DbgrdQueryResult
Data-bound list box dblst DblstJobType
Data combo dbc DbcAuthor
Data grid dgd DgdTitles
Data list dbl DblPublisher
Directory list box dir DirSource
Drive list box drv DrvTarget
File list box fil FilSource
Form frm FrmEntry
Frame fra FraLanguage
Graph gra GraRevenue
Grid grd GrdPrices
Horizontal scroll bar hsb HsbVolume
Image img ImgIcon
Image combo imgcbo ImgcboProduct
ImageList ils IlsAllIcons
Label lbl LblHelpMessage
Line lin LinVertical
List box lst LstPolicyCodes
ListView lvw LvwHeadings
Menu mnu MnuFileOpen
Month view mvw MvwPeriod
MS Chart ch ChSalesbyRegion
MS Flex grid msg MsgClients
MS Tab mst MstFirst
Option button opt OptGender
Picture box pic PicVGA
ProgressBar prg PrgLoadFile
Remote Data rd RdTitles
Slider sld SldScale
Spin spn SpnPages
StatusBar sta StaDateTime
SysInfo sys SysMonitor
TabStrip tab TabOptions
Text box txt TxtLastName
Timer tmr TmrAlarm
Toolbar tlb TlbActions
TreeView tre TreOrganization
UpDown upd UpdDirection
Vertical scroll bar vsb VsbRate
自行開發ActiveX控件的前綴根據具體項目的設計時規定。

D. 標籤
標籤就是用於Goto跳轉的代碼標識,由於Goto並不推薦使用,所以標籤的使用也比較苛刻。標籤必須全部大寫,中間的空格用下劃線_代替,而且應該以_開頭,比如:
_A_LABEL_EXAMPLE:
如此定義標籤是爲了與其他代碼元素充分區別。

E.方法
無論是函數還是子程序,方法都必須以動詞或動詞短語命名。無需區分函數和子程序,也無需指明返回類型。
Sub Open(ByVal StrCommandString As String)
Function SetCopyNumber(ByVal IntCopyNumber As Integer) as Integer
參數需要指明ByVal還是ByRef,這一點寫起來會讓程序變長,但非常必要。如果沒有特別情況,都使用ByVal。參數的命名方法,參考 “變量的命名方法”。


三、 書寫格式規範
A. 程序的書寫順序
該構件的概要註釋說明
變量聲明
過程聲明
代碼段1
代碼段2
……
B. 大小寫
變量名範圍前綴用小寫,每個單詞第一個字母用大寫
函數、過程、對象名也要求每個組成單詞字首大寫
C. 縮進
統一開發環境,設定VisualBasic設計器的開發環境選項,定義Tab寬度爲4。代碼縮進時,先選中要縮進的代碼塊,然後使用快捷鍵是Tab(右移)和Shift+Tab(左移);如果手工輸入空格完成縮進,以4個空格爲單位。
在If語句後縮進;
在Else語句後縮進
在Select Case語句後縮進
在Case語句後縮進
在Do語句後縮進
在For語句後縮進
已經用行接續符分割的語句的各個行要縮進
在With語句後縮進。
對從屬於行標註的代碼進行縮進。

D. 空格
運算符前後都要空格,包括:+,-,*,/,^,=,>,>=,<,<=,<>,NOT,AND,OR等;
E. 空行
變量聲明部分和代碼語句間的分隔;
在執行統一任務的各個語句組之間插入一個空行。好的代碼應由按邏輯順序排列的進程或相關語句組構成。
F. 頁寬
對較長語句,如API聲明等,在代碼窗體可視範圍內給予換行,不要使別人必須通過滾動窗口才能查看到完整的代碼,單行代碼長度不超過95列。
使用“& _ ”換行符。
G. 其他
在項目組內部,根據需要統一VisualBasic開發環境參數。

四、 代碼檢查
代碼檢查的合格標準
註釋完整、命名規範、條理清晰、可讀性強的代碼視爲合格代碼。
檢查辦法
發現未遵循本編碼規範的情況視爲不合格;

五、 建議性規範
l 有的時候可能需要違背好的編程原則,或者使用了某些不正規的方法,遇到這種情況時,必須用詳細的註釋來說明在做什麼和爲什麼要這樣做。
技巧性特別高的代碼段,一定要加詳細的註釋,不要讓其他開發人員花很長時間來研究一個高技巧但不易理解的程序段。
l 對註釋進行縮進,使之與後隨的語句對齊。
註釋通常位於它們要說明的代碼的前面。爲了從視覺上突出註釋與它的代碼之間的關係,請將註釋縮進,使之與代碼處於同一個層次上

六、 其他
對文檔的理解產生的歧義由引用此文檔的項目的項目負責人統一解釋。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章