?
???? WEB部分學(xué)了些東西,最近做了幾個(gè)項(xiàng)目。慢慢的覺得自己也像個(gè)開發(fā)者了
????? 我認(rèn)為開發(fā)者是和程序員有所不同的。程序員做的工作比較固定刻板,他們所做的工作中寫代碼占據(jù)了大半部分,而思考較少。開發(fā)者就不一樣了,如果獨(dú)立地去完成一個(gè)項(xiàng)目,他們的工作包括需求分析,項(xiàng)目的整體架構(gòu)等,甚至還有界面美工,當(dāng)然寫代碼就不用說了。而其中最費(fèi)時(shí)最費(fèi)腦子的,就是項(xiàng)目中每個(gè)功能所包含的邏輯,所涉及到的細(xì)節(jié):怎樣讓用戶使用更方便,怎樣使軟件變得更快...這些不僅僅需要完成功能(這只是最起碼的),還需要開發(fā)者的洞察力,靈感,對(duì)細(xì)節(jié)的掌控能力,無不體現(xiàn)一個(gè)開發(fā)者的綜合能力。
?????? 我們可以學(xué)會(huì)很多知識(shí)拿來為我們服務(wù),簡(jiǎn)化開發(fā),但是細(xì)節(jié)這種東西是不會(huì)有老師去教的。只能靠自己摸索,大量思考琢磨以至于廢寢忘食,再加上一點(diǎn)靈感和運(yùn)氣,才可能會(huì)給自己的項(xiàng)目抹上閃光的一筆。這一筆甚至使用者可能注意不到,但是自己知道就足夠了,所謂內(nèi)行看門道,外行看熱鬧。下面我具體舉幾個(gè)例子。鄙人初涉WEB部分時(shí)間不久,才疏學(xué)淺,只講幾個(gè)自己注意到的細(xì)節(jié),隨著經(jīng)驗(yàn)積累和知識(shí)的增長(zhǎng),我對(duì)這方面將更加看重。望大家不喜勿噴。
?? ???? 在做類似bbs這樣的東東時(shí),必定會(huì)涉及到文章的分頁顯示。當(dāng)然啦,我前些日子遇到了分頁,花了1天時(shí)間自己解決了這個(gè)問題,進(jìn)步不小。
當(dāng)有很多頁碼的時(shí)候,比如第30頁。如果游客在瀏覽第30頁的一篇帖子,他看完了,想回到文章列表,當(dāng)點(diǎn)擊“返回文章列表”的時(shí)候,問題出現(xiàn)了:總是返回到第1頁。注意,這不是bug,也不能說是有問題,但就是讓用戶感到不便。這樣的話每次都要記住自己看到多少頁了,豈不是為難人家?我上過不少論壇,大多都注意到這個(gè)問題,但是有些卻沒有解決,造成了用戶的不便。解決方法也不難,只要把分頁內(nèi)置偏移量傳遞到具體顯示文章的界面就行了。但是有些人就是不做,方便了自己,難為了千萬人。這是細(xì)節(jié)。
?? ???? 當(dāng)我們點(diǎn)擊一篇文章查看它的詳細(xì)內(nèi)容時(shí),有時(shí)會(huì)做這樣的需求:文章瀏覽次數(shù)+1。問題出現(xiàn)了:很多開發(fā)者在寫代碼的時(shí)候,產(chǎn)生慣性思維,當(dāng)點(diǎn)擊文章時(shí)請(qǐng)求后臺(tái),在后臺(tái)根據(jù)文章編號(hào)從數(shù)據(jù)庫取出信息,然后轉(zhuǎn)到顯示界面進(jìn)行顯示,同時(shí)瀏覽次數(shù)+1。這樣做看起來沒錯(cuò)啊。但是我們發(fā)現(xiàn),當(dāng)你在具體顯示文章的界面進(jìn)行刷新操作時(shí),每當(dāng)刷新一次文章瀏覽次數(shù)就會(huì)+1,這顯然是不符合邏輯的。解決辦法不難。捕獲文章鏈接的onclick事件,通過AJAX異步處理就好了。這個(gè)問題顯然需要足夠的洞察力以及思考能力。這也是細(xì)節(jié)。
?? ???? 在做驗(yàn)證碼的時(shí)候如果用戶看不清,需要點(diǎn)擊一個(gè)按鈕(或者鏈接)以重新獲取一張圖片驗(yàn)證碼,這是很常見的需求。但是我見過一些人點(diǎn)擊的時(shí)候卻刷新了頁面,而不是只替換驗(yàn)證碼內(nèi)容。正確的做法是只更改驗(yàn)證碼而不是刷新頁面。前者和后者實(shí)現(xiàn)的功能完全相同,但前者的弊端在于給用戶帶來不便:用戶上面填寫的注冊(cè)之類的信息必須重新填寫。可見功能實(shí)現(xiàn)不難,難的是把握好每一個(gè)細(xì)節(jié),把東西做好,做細(xì),做精。
???????? 在做用戶的注冊(cè)和登錄功能的時(shí)候,必須要對(duì)用戶名進(jìn)行驗(yàn)證。我就拿注冊(cè)來說。弄的高級(jí)點(diǎn),用AJAX異步檢查用戶名,如果直接把用戶名異步發(fā)送到后臺(tái)(還是捕獲onclick事件),就有幾率出大問題。為什么說有幾率,是這樣。如果用戶輸入&,%這樣的字符,在后臺(tái)就會(huì)報(bào)錯(cuò),別的字符我還沒有檢查出來,只查出這兩個(gè)特殊字符不能經(jīng)過AJAX的發(fā)送請(qǐng)求。必須要先在前臺(tái)過濾這些字符,讓用戶輸入符合規(guī)范的用戶名,然后再發(fā)送到后臺(tái)判斷是否存在這些用戶名,我稱之為“二次檢查”。這些看起來不起眼甚至用戶永遠(yuǎn)無法知道的細(xì)節(jié),體現(xiàn)的是一名開發(fā)者的邏輯思考能力和嚴(yán)謹(jǐn)?shù)乃季S方式。通過這個(gè)問題我又增長(zhǎng)了知識(shí),url請(qǐng)求(其實(shí)不只是url,ajax之類也一樣)中參數(shù)是不能含有&,%的。
?? ???? 就談到這里,只舉了幾個(gè)簡(jiǎn)單的例子,實(shí)際操作中還有很多這方面的問題??傊谧非笸昝赖牡缆飞蠜]有終點(diǎn),只有精益求精。

????? 我認(rèn)為開發(fā)者是和程序員有所不同的。程序員做的工作比較固定刻板,他們所做的工作中寫代碼占據(jù)了大半部分,而思考較少。開發(fā)者就不一樣了,如果獨(dú)立地去完成一個(gè)項(xiàng)目,他們的工作包括需求分析,項(xiàng)目的整體架構(gòu)等,甚至還有界面美工,當(dāng)然寫代碼就不用說了。而其中最費(fèi)時(shí)最費(fèi)腦子的,就是項(xiàng)目中每個(gè)功能所包含的邏輯,所涉及到的細(xì)節(jié):怎樣讓用戶使用更方便,怎樣使軟件變得更快...這些不僅僅需要完成功能(這只是最起碼的),還需要開發(fā)者的洞察力,靈感,對(duì)細(xì)節(jié)的掌控能力,無不體現(xiàn)一個(gè)開發(fā)者的綜合能力。
?????? 我們可以學(xué)會(huì)很多知識(shí)拿來為我們服務(wù),簡(jiǎn)化開發(fā),但是細(xì)節(jié)這種東西是不會(huì)有老師去教的。只能靠自己摸索,大量思考琢磨以至于廢寢忘食,再加上一點(diǎn)靈感和運(yùn)氣,才可能會(huì)給自己的項(xiàng)目抹上閃光的一筆。這一筆甚至使用者可能注意不到,但是自己知道就足夠了,所謂內(nèi)行看門道,外行看熱鬧。下面我具體舉幾個(gè)例子。鄙人初涉WEB部分時(shí)間不久,才疏學(xué)淺,只講幾個(gè)自己注意到的細(xì)節(jié),隨著經(jīng)驗(yàn)積累和知識(shí)的增長(zhǎng),我對(duì)這方面將更加看重。望大家不喜勿噴。

?? ???? 在做類似bbs這樣的東東時(shí),必定會(huì)涉及到文章的分頁顯示。當(dāng)然啦,我前些日子遇到了分頁,花了1天時(shí)間自己解決了這個(gè)問題,進(jìn)步不小。

?? ???? 當(dāng)我們點(diǎn)擊一篇文章查看它的詳細(xì)內(nèi)容時(shí),有時(shí)會(huì)做這樣的需求:文章瀏覽次數(shù)+1。問題出現(xiàn)了:很多開發(fā)者在寫代碼的時(shí)候,產(chǎn)生慣性思維,當(dāng)點(diǎn)擊文章時(shí)請(qǐng)求后臺(tái),在后臺(tái)根據(jù)文章編號(hào)從數(shù)據(jù)庫取出信息,然后轉(zhuǎn)到顯示界面進(jìn)行顯示,同時(shí)瀏覽次數(shù)+1。這樣做看起來沒錯(cuò)啊。但是我們發(fā)現(xiàn),當(dāng)你在具體顯示文章的界面進(jìn)行刷新操作時(shí),每當(dāng)刷新一次文章瀏覽次數(shù)就會(huì)+1,這顯然是不符合邏輯的。解決辦法不難。捕獲文章鏈接的onclick事件,通過AJAX異步處理就好了。這個(gè)問題顯然需要足夠的洞察力以及思考能力。這也是細(xì)節(jié)。
?? ???? 在做驗(yàn)證碼的時(shí)候如果用戶看不清,需要點(diǎn)擊一個(gè)按鈕(或者鏈接)以重新獲取一張圖片驗(yàn)證碼,這是很常見的需求。但是我見過一些人點(diǎn)擊的時(shí)候卻刷新了頁面,而不是只替換驗(yàn)證碼內(nèi)容。正確的做法是只更改驗(yàn)證碼而不是刷新頁面。前者和后者實(shí)現(xiàn)的功能完全相同,但前者的弊端在于給用戶帶來不便:用戶上面填寫的注冊(cè)之類的信息必須重新填寫。可見功能實(shí)現(xiàn)不難,難的是把握好每一個(gè)細(xì)節(jié),把東西做好,做細(xì),做精。
???????? 在做用戶的注冊(cè)和登錄功能的時(shí)候,必須要對(duì)用戶名進(jìn)行驗(yàn)證。我就拿注冊(cè)來說。弄的高級(jí)點(diǎn),用AJAX異步檢查用戶名,如果直接把用戶名異步發(fā)送到后臺(tái)(還是捕獲onclick事件),就有幾率出大問題。為什么說有幾率,是這樣。如果用戶輸入&,%這樣的字符,在后臺(tái)就會(huì)報(bào)錯(cuò),別的字符我還沒有檢查出來,只查出這兩個(gè)特殊字符不能經(jīng)過AJAX的發(fā)送請(qǐng)求。必須要先在前臺(tái)過濾這些字符,讓用戶輸入符合規(guī)范的用戶名,然后再發(fā)送到后臺(tái)判斷是否存在這些用戶名,我稱之為“二次檢查”。這些看起來不起眼甚至用戶永遠(yuǎn)無法知道的細(xì)節(jié),體現(xiàn)的是一名開發(fā)者的邏輯思考能力和嚴(yán)謹(jǐn)?shù)乃季S方式。通過這個(gè)問題我又增長(zhǎng)了知識(shí),url請(qǐng)求(其實(shí)不只是url,ajax之類也一樣)中參數(shù)是不能含有&,%的。
?? ???? 就談到這里,只舉了幾個(gè)簡(jiǎn)單的例子,實(shí)際操作中還有很多這方面的問題??傊谧非笸昝赖牡缆飞蠜]有終點(diǎn),只有精益求精。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
