2018-10-26 16:34:31
在學習.NET程序開發(fā)之前,本人也學習過一段時間的前端:辛辛苦苦找好了素材,把頁面設(shè)計好,切好,拼好之后,卻發(fā)現(xiàn)它卻只是靜態(tài)頁面,不能進行任何操作。這就好比做一道可口的菜,材料都準備好了,卻只能看不能品嘗。要想吃上美味的菜肴,還要看炒菜的技術(shù)。炒菜不能著急,要掌握好火候才能炒出好吃的菜。做程序也一樣,不能著急。在開發(fā)一個新功能之前,首先要整理好開發(fā)思路,再進行開發(fā)。往往一個好的開發(fā)思路與技巧就能讓你事半功倍。
只要是程序員都能寫出代碼,但這些代碼的價值卻往往體現(xiàn)在一些細節(jié)上。下面給大家介紹兩個我在程序開發(fā)過程中總結(jié)技巧。
【案例1】jQuery+Ajax也很重要
用戶注冊:用戶帳號應該是唯一的,用戶在注冊時,自身是不知道自己所填寫的帳號名是否有重復。若是作為用戶,很耐心的從上至下填完了注冊信息,提交時卻提示“用戶名已被注冊”,看到這樣的提示信息,沒有耐心的用戶就會直接關(guān)掉頁面,這樣我們就會失去一個潛在客戶。為避免這樣的事情發(fā)生,就需要用到j(luò)Query+Ajax通過另外一個處理頁面來進行判斷,讓頁面及時獲取返回的信息來判斷該用戶名是否被注冊。所以,為了達到一個良好的用戶體驗,防止頁面刷新,jQuery+Ajax是不可或缺的。
解決方案:
在網(wǎng)站中新建一個一般處理程序的頁面,如CheckUserName.ashx。
注冊頁面中引入Jquery文件。
綁定注冊頁面填寫帳號的input的焦點離開事件(bulr),通過Jquery的$.ajax方法來獲取一般處理程序返回的結(jié)果信息。
結(jié)論:要想提升網(wǎng)站質(zhì)量,提高用戶的體驗度,jQuery+Ajax是不可或缺的。技術(shù)不是難點,開發(fā)思路尤為重要。
建站的技巧都是在建站過程中遇到錯誤解決后所積累的經(jīng)驗,以上兩個案例都是比較常見的。
沒有做不好的網(wǎng)站,只有寫不出讓用戶體驗價值高的程序。為了追求更高更專業(yè)的水平,我們必須要站在客戶的角度思考如何才能開發(fā)出讓客戶滿意的功能,少一些不和諧的用戶體驗,少一些bug,就能換來多一分的用戶好評。
【案例2】過濾不安全的參數(shù),防止SQL注入
做過網(wǎng)站的人都知道,網(wǎng)站往簡單了說,無非就是三個頁面:首頁、列表、詳細。很多人認為詳細頁面做起來輕松、簡單,因為只需要從數(shù)據(jù)庫讀取數(shù)據(jù)綁定到頁面即可,但網(wǎng)站的安全性往往就出在詳細頁上。因為頁面上需要用到GET傳值,這種傳值方式就會暴露出程序中傳遞的參數(shù)信息,若是傳遞的參數(shù)有問題,不僅會給一些“不法分子”留下了后門,還會大大降低用戶的體驗度,然后接著就是后期維護以及一大堆的bug修復。與其后期繁瑣的修復與維護,還不如在編寫的時候就避免,編寫出高質(zhì)量代碼。
如果傳遞了不合法的參數(shù)應跳轉(zhuǎn)至錯誤信息提示頁或直接跳轉(zhuǎn)至首頁。不合法的情況一般包括三種:參數(shù)未傳遞、參數(shù)類型不匹配以及信息不存在。
解決方案:
提前做好錯誤信息提示頁,例如:Error.aspx
在Page_Load中接收參數(shù)時,做參數(shù)校驗,步驟如下:
a.先驗證參數(shù)是否已傳遞。如若未傳遞,則跳轉(zhuǎn)到錯誤提示頁面(提示信息:參數(shù)未傳遞)。
b.驗證參數(shù)傳遞的類型是否合法。如若不合法,則跳轉(zhuǎn)到錯誤提示頁面(提示信息:參數(shù)類型不匹配)。
c.驗證信息是否存在。
d.后初始化頁面。InitPage();
結(jié)論:事實上,每個方法都應該寫在try{…}catch{…}里面,將捕獲到的異常信息寫入日志,便于網(wǎng)站管理人員或開發(fā)人員查看。因為,只要是程序,就會存在bug,我們所能做的就是,盡量避免bug的發(fā)生。所以,今天,你try-catch了嗎?