精品秘无码一区二区三区老师-精品秘一区二三区免费雷安-精品蜜桃秘一区二区三区-精品蜜桃秘一区二区三区粉嫩-精品蜜桃一区二区三区-精品蜜臀国产aⅴ一区二区三区

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

參考的ASP開(kāi)發(fā)規(guī)范

admin
2010年7月3日 14:42 本文熱度 6531
[p]asp開(kāi)發(fā)規(guī)范 ——寫(xiě)這個(gè)東西請(qǐng)多多指教,以后開(kāi)發(fā)時(shí)好少吃點(diǎn)苦頭。[/p]
[p][b]一、單頁(yè)編寫(xiě)規(guī)范[/b]:[/p]
[p]切記頁(yè)面要分模塊來(lái)寫(xiě):[br]第一模塊:接收參數(shù)。[有可能從不同頁(yè)面提交到同一個(gè)頁(yè)面;也可能出現(xiàn)兩個(gè)表單項(xiàng)以哪個(gè)優(yōu)先的處理。[br]第二模塊:定義全局變量。[br]第三模塊:寫(xiě)處理代碼(盡量將代碼都包含到函數(shù)中,詳見(jiàn)頁(yè)面附注一。)。——到此asp代碼主要部分完成。[br]第四模塊:純html代碼,利用儲(chǔ)存在全局變量中的值來(lái)生成頁(yè)面。[br]第五(注意):要在頁(yè)面頭部寫(xiě)清頁(yè)面邏輯。(如何接收、處理。)[br]優(yōu)點(diǎn):便于維護(hù)。模塊獨(dú)立,便于重復(fù)使用到類(lèi)似頁(yè)面。[/p]
[p][b]二、全站文件構(gòu)建規(guī)范[/b]:[/p]
[p]1.工程接手后,先觀看靜態(tài)頁(yè),掌握邏輯及瀏覽順序。[br]2.抽取頁(yè)面中被重復(fù)利用到的地方做成嵌入文件。[br]3.抽取頭文件、尾文件,及左側(cè)菜單欄,做成嵌入文件。[br]4.劃分頁(yè)面結(jié)構(gòu),做出模板文件。——以后制作中就copy它,然后就可直接制作。[br]注意:不要急于編寫(xiě)頁(yè)面,除非你接手的是一項(xiàng)小工程,或者用戶需求已經(jīng)非常清楚確定并且不會(huì)再更改,否則,保持頁(yè)面代碼的可讀性是非常重要的!(當(dāng)你面對(duì)大返工時(shí),你的心情如何?先對(duì)潛在的危險(xiǎn)考慮一下吧!)[br]——因?yàn)槲覀兠總€(gè)人都對(duì)自己寫(xiě)的代碼非常明白,而都比較難于讀懂別人寫(xiě)的代碼。并且,由于客戶需求的變化,修改甚至推翻原有設(shè)計(jì)是比較常見(jiàn)的事。所以要注意在編寫(xiě)代碼時(shí)注意讓后來(lái)者快速讀懂,并便于修改。][至少要在頁(yè)面頭部加上注釋?zhuān)诖a中間重要的部分,也有必要加一些說(shuō)明性注釋。][/p]
[p]我們所作的一切僅僅是為了:增加可移植可重用性、使邏輯清楚,便于維護(hù)、[br]適應(yīng)用戶需求的改變,并盡快完成,減少無(wú)用功。[br]――――――――――――――――――――――――――――――――――――――[/p]
[p]附注一:第三模塊編寫(xiě)說(shuō)明。《asp頁(yè)面編寫(xiě)結(jié)構(gòu)》[br]1.先寫(xiě)注釋[br]2.寫(xiě)嵌入文件。[br]3.寫(xiě)大塊的asp代碼(從com中取出的)[br]——注意:復(fù)雜頁(yè)面,盡量將不同com的操作封裝在獨(dú)立的函數(shù)里;[br]——函數(shù)結(jié)尾有一句調(diào)用,后面頁(yè)面中直接讀取函數(shù)處理完的數(shù)據(jù)(已被賦給全局變量)[br]——調(diào)用函數(shù)前,對(duì)頁(yè)面入口參數(shù)進(jìn)行合法性檢驗(yàn)。[/p]
[p]附注二:第四模塊編寫(xiě)說(shuō)明。《html代碼部分需要注意的》[br]1)最好不使頁(yè)面的asp代碼和html代碼混雜在一起,——感覺(jué)比較混亂。[br]2)通過(guò)獲取全局變量的數(shù)據(jù)得到asp的處理結(jié)果。[br]3)關(guān)于客戶端javascript:[br]表單提交前要進(jìn)行合法性檢驗(yàn)。寫(xiě)在[/p]
[p]對(duì)下拉框要有和隱藏按鈕同步的,寫(xiě)出單獨(dú)小函數(shù),放在該按鈕的下面。[br]對(duì)大型innerhtml型的客戶端交互操作,將代碼集中寫(xiě)在相應(yīng)對(duì)應(yīng)的[/p]
[p]寫(xiě)客戶端腳本時(shí),可多寫(xiě)些函數(shù),使函數(shù)間傳遞的參數(shù)簡(jiǎn)單,功能單一,以便日后有類(lèi)似頁(yè)面,可以將其拆下來(lái)再使用。 [br]對(duì)網(wǎng)頁(yè)制作的要求:[br]網(wǎng)頁(yè)人員完成的頁(yè)面,為保證在使用時(shí)不會(huì)出現(xiàn)混亂,請(qǐng)他們作以下處理:[br]1.表格不要嵌套太多;[br]2.表格寬度要用象素規(guī)定寬度;[br]3.單頁(yè)中,一個(gè)功能模塊要做成一個(gè)表格,以便編寫(xiě)頁(yè)面時(shí),將重復(fù)部分提取成嵌入文件。[br]4.其它要注意的:精簡(jiǎn)代碼、注意表格中字符和邊框的寬度。[br]5.文件名請(qǐng)用英文小寫(xiě)加數(shù)字(和半角下劃線)命名。[想想你的頁(yè)面搬到unix主機(jī)上的慘狀][/p]
[p]為了規(guī)范程序代碼編寫(xiě),提高代碼可讀性,降低后期維護(hù)成本,提高辦公效率,建議以后編寫(xiě)的程序按以下幾條規(guī)范進(jìn)行:[/p]
[p][b]一、 統(tǒng)一vbscript和asp程序編寫(xiě)規(guī)范[/b]:[/p]
[p](一)變量命名規(guī)則:[/p]
[p]由于在asp和vbscript中因?yàn)椴恍枰暶髯兞浚瑫r(shí)不能聲明變量的類(lèi)型,但為了提高代碼的可讀性,養(yǎng)成好的開(kāi)發(fā)習(xí)慣,對(duì)于本系統(tǒng)開(kāi)發(fā)的變量命名統(tǒng)一規(guī)則如下:[/p]
[p]1. 使用dim、public、private聲明變量;[/p]
[p]例如:dim istudentnum[/p]
[p]2. 變量類(lèi)型的體現(xiàn):[/p]
[p]a、整型變量:以小寫(xiě)字母i開(kāi)頭,后面跟變量標(biāo)示符,英文單詞的第一個(gè)字母大寫(xiě)。[/p]
[p]例如:下面聲明一個(gè)存儲(chǔ)數(shù)據(jù)庫(kù)記錄多少的變量[/p]
[p]dim iresordsetnumber[/p]
[p]b、單精度實(shí)體變量:以小寫(xiě)字母f開(kāi)頭,后面跟變量標(biāo)示符,英文單詞的第一個(gè)字母大寫(xiě)。[/p]
[p]c、雙精度實(shí)體變量:以小寫(xiě)字母d開(kāi)頭,后面跟變量標(biāo)示符,英文單詞的第一個(gè)字母要大寫(xiě)。[/p]
[p]d、 字符型變量:以小寫(xiě)字母s開(kāi)頭;[/p]
[p]e、 布爾型變量:以小寫(xiě)字母b開(kāi)頭;[/p]
[p]f、數(shù)組變量:數(shù)組類(lèi)型+“_”+“array”+“_”+“變量標(biāo)示符”[/p]
[p]例如:定義一個(gè)存儲(chǔ)學(xué)生成績(jī)的數(shù)組(存儲(chǔ)單精度實(shí)體類(lèi)型變量)[/p]
[p]dim f_array_studentmark[/p]
[p]3. 變量標(biāo)示符要符合標(biāo)示符標(biāo)準(zhǔn),同時(shí)容易理解,盡量使用英文單詞來(lái)代替,盡量避免使用縮寫(xiě)或簡(jiǎn)寫(xiě)。[/p]
[p]例如:存儲(chǔ)校友通訊錄的字符串變量定義為:[/p]
[p]dim sschoolfellowaddresslist;[/p]
[p]雖然這樣定義在輸入的時(shí)候比較麻煩,但是,它大大提高了程序的可讀性,見(jiàn)其變量命名就知其意。在做變量查找的時(shí)候也比較方便。速度和性能總是不能兩全,為了方便后者我們也就只有犧牲速度。[/p]
[p]4.在變量定義后面加變量功能定義的注釋。[/p]
[p](二)常量命名規(guī)則:[/p]
[p]類(lèi)型體現(xiàn)和上面一樣,不一樣的地方是,所有后面的標(biāo)示符全部大寫(xiě),例如:[/p]
[p]定義一個(gè)存儲(chǔ)語(yǔ)言種類(lèi)的的字符型常量:[/p]
[p]const slanguage_type=”chinese”[/p]
[p](三)功能函數(shù)、過(guò)程命名規(guī)則:[/p]
[p]1. 使用function聲明函數(shù),用sub聲明過(guò)程;[/p]
[p]2. 函數(shù)名或過(guò)程名的第一個(gè)字母大寫(xiě),且后面的每個(gè)單詞第一個(gè)字母大寫(xiě)。[/p]
[p]例如:[/p]
[p]function checkvalidityofinput(sstuentmark)[/p]
[p]‘此處寫(xiě)代碼[/p]
[p]…………[/p]
[p]end function[/p]
[p]3. 函數(shù)名或過(guò)程名要容易讀,簡(jiǎn)單明了。[/p]
[p]4. 在函數(shù)前面加注釋?zhuān)f(shuō)明函數(shù)功能、參數(shù)說(shuō)明、創(chuàng)建日期、修改日期、修改原因、創(chuàng)建人、修改人等相關(guān)信息。[/p]
[p](四)代碼縮進(jìn)標(biāo)準(zhǔn):[/p]
[p]為了提高代碼的美觀型和易讀性,在此提出代碼編寫(xiě)的版面格式:區(qū)間與區(qū)間之間以一個(gè)為間距。[/p]
[p]例如:[/p]
[p]‘***********************************************************[/p]
[p]‘功能:檢測(cè)輸入字符串中的單引號(hào),如果有則把原來(lái)的一個(gè)單引號(hào)變成兩[/p]
[p]‘ 個(gè)單引號(hào),兩個(gè)變成四個(gè),依次類(lèi)推,從而避免sql語(yǔ)句執(zhí)行錯(cuò)誤。[/p]
[p]‘創(chuàng)建人:xxxx[/p]
[p]‘修改時(shí)間:[/p]
[p]‘修改原因:[/p]
[p]‘修改人:[/p]
[p]‘輸入?yún)?shù)說(shuō)明:sinputstring:需要進(jìn)行單引號(hào)檢測(cè)的字符串[/p]
[p]‘***********************************************************[/p]
[p]function checkvalidityofinput(sinputstring)[/p]
[p]dim icirculationcontrol ‘控制循環(huán)[/p]
[p]dim sapartstring ‘分離字符檢測(cè)[/p]
[p]dim ilenofinput ‘輸入字符長(zhǎng)度[/p]
[p]ilen= len(trim(sinputstring))[/p]
[p]for icirculationcontrol = 1 to ilen[/p]
[p]if mid(sinputstring, icirculationcontrol, 1) <>"'" then[/p]
[p]sapartstring = sapartstring & _[/p]
[p]mid(trim(sinputstring), icirculationcontrol , 1)[/p]
[p]else[/p]
[p]sapartstring = sapartstring & "''"[/p]
[p]end if[/p]
[p]next[/p]
[p]checkvalidityofinput = sapartstring[/p]
[p]end function[/p]
[p][b]二、 統(tǒng)一javascript程序編寫(xiě)規(guī)范[/b]:[/p]
[p]javascript的命名規(guī)則和上面大部分相同,唯一不同的地方是:變量使用var來(lái)聲明,在聲明結(jié)束后以分號(hào)(;)結(jié)束。[/p]
[p]函數(shù)的代碼要求層次清楚,該寫(xiě)在下一行的地方盡量往下一行寫(xiě),不要在一行中完成所有代碼,這樣看起來(lái)不容易,檢查錯(cuò)誤也特別費(fèi)時(shí)。[/p]
[p]在寫(xiě)函數(shù)的時(shí)候記著加注釋內(nèi)容,以便以后維護(hù)時(shí)快速了解程序功能。[/p]
[p]下面是一個(gè)javascript程序:[/p]
[p][b]三、 系統(tǒng)性能提高,代碼規(guī)范[/b]:[/p]
[p]1.在asp頁(yè)面內(nèi),凡是使用creageobject()創(chuàng)建的對(duì)象(com、recordset等),對(duì)于這些變量,應(yīng)當(dāng)在該頁(yè)結(jié)束進(jìn)行對(duì)象釋放:即[/p]
[p]set 對(duì)象變量名=nothing[/p]
[p]2.數(shù)據(jù)庫(kù)打開(kāi)以后在不用的時(shí)候(通常是本頁(yè)最后面),需要對(duì)連接進(jìn)行關(guān)閉;[/p]
[p]3.對(duì)于sql語(yǔ)句,存儲(chǔ)過(guò)程,盡量避免使用*來(lái)取所有字段,為了代碼的易讀性,sql關(guān)鍵字要求全部大寫(xiě),字段部分小寫(xiě)。[/p]
[p]例如:[/p]
[p]select name,age,birthday,telephone,address from schoolfellow.address where name=’xxxx’ order by birthday desc[/p]
[p]4.在asp頁(yè)中所有屬性值盡量使用雙引號(hào)括起來(lái),特別是有屬性value的值,不要因?yàn)槭r(shí)間而把雙引號(hào)去掉(有的地方雖然可以去掉,程序不會(huì)出現(xiàn)錯(cuò)誤,但,在有的地方去掉雙引號(hào)會(huì)引來(lái)更多的麻煩。)[/p]
[p]例如:[/p]
[p]”>[/p]
[p]在這個(gè)例子中,如果把value屬性值的單引號(hào)去掉,如果數(shù)據(jù)庫(kù)中出來(lái)的值有空格,空格后面還有值,結(jié)果,顯示的內(nèi)容只有空格前面的內(nèi)容,而后面的內(nèi)容就會(huì)丟失。這只是其中一種情況,其他還有很多未知情況發(fā)生。[/p]
[p]5. 配對(duì)標(biāo)簽問(wèn)題:對(duì)于象之類(lèi)的標(biāo)簽,要注意檢查配對(duì)的位值,有沒(méi)有結(jié)束標(biāo)志。[/p]
[p]6. 對(duì)于需要輸入字符串,且需要使用sql語(yǔ)句的地方,需要進(jìn)行單引號(hào)處理,調(diào)用/include/checkq.asp中的兩個(gè)方法(一個(gè)是客戶端處理,一個(gè)是服務(wù)器端處理,根據(jù)需要進(jìn)行調(diào)用,安全性要求高的地方多數(shù)情況下采用服務(wù)器端處理。)之一。[/p]
[p]7. 為了提高安全性,能使用asp編寫(xiě)的代碼,盡量采用asp編寫(xiě),在服務(wù)器端運(yùn)行,不讓用戶看到代碼。[/p]
[p]8. 對(duì)于安全性要求特別高的地方,建議采用三層結(jié)構(gòu):使用vb或delphi編寫(xiě)商業(yè)邏輯層代碼(com),盡量把數(shù)據(jù)庫(kù)的連接部分封裝到組件中,提高安全性能,通過(guò)組件和數(shù)據(jù)庫(kù)交流。[/p]
[p]9. 對(duì)于網(wǎng)站的安全性,應(yīng)該采用好的斷口掃描軟件,查看網(wǎng)站已經(jīng)打開(kāi)的斷口,把不安全的斷口給關(guān)閉。[/p]
[p][b]四、 養(yǎng)成寫(xiě)開(kāi)發(fā)文檔的習(xí)慣[/b]:[/p]
[p]對(duì)于每一個(gè)頁(yè)面設(shè)計(jì)(前接頁(yè),后接頁(yè)),包括功能說(shuō)明,頁(yè)面設(shè)計(jì),頁(yè)面名稱(chēng),存放位置等,應(yīng)當(dāng)有相應(yīng)的文檔記載。對(duì)于發(fā)生改動(dòng)的地方,需要保留原來(lái)的部分(注釋或備份),并說(shuō)明備份文件存放的地方,改動(dòng)時(shí)間,修改人。[/p]
[p]對(duì)于程序部分,應(yīng)該有相應(yīng)的設(shè)計(jì)流程,改動(dòng)的時(shí)候,也需要設(shè)計(jì)改動(dòng)流程圖,以便以后進(jìn)行對(duì)比,和查找問(wèn)題所在位置,以及問(wèn)題的嚴(yán)重性分析。[/p]

該文章在 2010/7/3 14:42:26 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 亚洲AV无码一区二区三区牛牛 | 无码中文字幕乱码一区 | 肉体裸交丰满丰满少妇在线观看 | 成人国产午夜在线视频 | 国产亚洲精品AAAAAAA片 | 久一线产区二线产区三线产区 | 国产精品无码一区二区在线观一 | 黄色免费网页日韩 | 国产亚洲一区二区手机在线观 | 特黄A又粗又大黄又爽A片 | 亚洲国产欧美日韩精品网 | 国精品无码一区二区三区在线蜜臀 | 18禁在线永久免费观看 | 国内精品久久毛片一区二区 | 亚洲av无码日韩av无码网站冲 | 亚洲国产福利小视频在线观看免费 | 亚洲综合区小说区激情区 | 欧美日韩x8x8视频 | 欧美国产日本综合一区二区 | 国产亚洲第一伦理第一区 | 成人毛片无码一区二区 | 日韩人妻av无码综合一区 | 精品日本久久久久久久久久 | 亚洲深深色噜噜狠狠爱网站 | 精品国产卡一卡2卡3卡 | 亚洲精品国产乱码不卡 | 亚洲综合网国产福利精品一区 | 一本色道久久东京热 | 亚洲av无码成人yellow中文字幕福利在线久久亚洲锕无码人 | 美女高潮自慰喷水 | 99热这里只有精品免费国产 | 国产精品免费无遮挡永久视频 | 色欲AV亚洲情无码AV蜜桃 | 亚洲线精品久久一区二区三区 | 精品无码一区二区视 | 亚洲国产精品自产拍在线观看 | 少妇高清精品毛片在线视频 | 国产日本欧美高清 | 亚洲国产日韩一区精品久久 | 亚洲精品自产拍在线观看无码 | 真实偷拍走光福利无删减视频 |