網(wǎng)站分析:縮短網(wǎng)頁(yè)開發(fā)時(shí)間的十大方法
來(lái)源:網(wǎng)站推廣 2012-06-26
在當(dāng)今的開發(fā)環(huán)境之下,快即是好。
原文:sixrevisions.com/web-development/10-ways-to-cut-down-web-development-time/
在當(dāng)今的開發(fā)環(huán)境之下,快即是好。
當(dāng)今諸如“快速應(yīng)用開發(fā) ”,“敏捷軟件開發(fā) ”以及“異步JavaScript和XML “(如今我們甚至無(wú)法耐心地等待網(wǎng)頁(yè)的重新載入)等流行詞匯和術(shù)語(yǔ)讓你見識(shí)到究竟身處于怎樣一個(gè)快節(jié)奏的世界當(dāng)中。
但是做事趕時(shí)間并不意味著你工作要加班加點(diǎn)——你工作時(shí)需要?jiǎng)有┠X筋。此文,將為你提供縮短網(wǎng)頁(yè)應(yīng)用開發(fā)的十大省時(shí)技巧。
一、使用框架
框架提取出了常規(guī)代碼,給你編寫網(wǎng)頁(yè)應(yīng)用提供了一個(gè)基本的構(gòu)造和基礎(chǔ)。
框架中一個(gè)非常典型的例子就是Rails,Rails就是Ruby編程語(yǔ)言的一個(gè)網(wǎng)頁(yè)應(yīng)用開發(fā)框架。通過(guò)為你提供預(yù)先編寫好的代碼程序包(舉個(gè)例子,像用戶輸入驗(yàn)證方式)——你不僅僅節(jié)省了用Ruby編寫你自己代碼的時(shí)間——你也很清楚這些程序包已經(jīng)受住了其他開發(fā)人員的測(cè)試以及檢驗(yàn),這可以在廣度測(cè)試時(shí)為你減少不少麻煩,另外還可以避免一些因缺少測(cè)試而導(dǎo)致潛在的漏洞。
同樣的好處對(duì)于使用諸如MooTools的JavaScript框架也是適用的。這些框架提供給你的一些類方法都是由核心開發(fā)者和社區(qū)提供,并在諸多瀏覽器下經(jīng)受廣泛測(cè)試的考驗(yàn)?蛻舳四_本語(yǔ)言框架還有jQuery,Prototype JS,以及YUI。如果你想用一些非主流的JS框架,你可以看看這個(gè)極具潛力的JavaScript框架 清單。
對(duì)于服務(wù)器端的框架,你可以考慮CakePHP ,CodeIgniter ,Zend ,或者symphony。如果你喜歡VB以及C#之類微軟支持的語(yǔ)言,你可以考慮.Net框架 。
你甚至是可以使用像960Grid 或者BluePrint這樣的CSS框架來(lái)快速編寫和規(guī)范你自己風(fēng)格的頁(yè)面結(jié)構(gòu)。
二、使用集成開發(fā)環(huán)境
當(dāng)然,你可以只用一個(gè)Notepad這樣的文本編輯器和FTP就可創(chuàng)建網(wǎng)頁(yè)應(yīng)用及其頁(yè)面。但是我想大多數(shù)人都認(rèn)為,這并不是一個(gè)可用在開發(fā)復(fù)雜和健壯網(wǎng)站項(xiàng)目之上的明智方法。
集成開發(fā)環(huán)境 (IDE),為你準(zhǔn)備了創(chuàng)建和管理大型網(wǎng)站項(xiàng)目所需要的工具集合。集成開發(fā)環(huán)境的功能一直在變,但它們都有如下一些常見的功能
項(xiàng)目管理以及團(tuán)隊(duì)協(xié)作功能。
調(diào)試以及診斷功能。
語(yǔ)法提示以及自動(dòng)完成功能(IDE會(huì)猜測(cè)你想寫的語(yǔ)法)
語(yǔ)法高亮
內(nèi)置FTP,能同步本地和遠(yuǎn)程主機(jī)上的文件
“IDE”這個(gè)詞可能有些花哨,有些人還對(duì)此不太熟悉,但是大數(shù)據(jù)人應(yīng)該聽說(shuō)過(guò)Adobe的Dreamweaver。Dreameweaver就可以看成是一個(gè)集成開發(fā)環(huán)境。因?yàn)樗猩厦嫣岬降囊恍┕δ?幫你更快的編寫代碼。(他通常適用于前端的制作。但是它也支持服務(wù)器端的語(yǔ)言,像PHP和ASP.NET)
如今網(wǎng)上有大量的IDE,你所要做的就是為你自己(或者你的團(tuán)隊(duì))挑選一個(gè)。像一些流行的,功能齊全的IDE,如Eclipse, Komodo IDE, NetBeans, Visual Studio, 以及Aptana Studio.
如果,你看到這里后,依然決心要使用一個(gè)文本編輯器,你至少應(yīng)該看看為代碼工作者準(zhǔn)備的文本編輯器集錦 這篇文章。
三、適當(dāng)?shù)哪K化
模塊化是創(chuàng)建易于維護(hù)和擴(kuò)展復(fù)雜應(yīng)用的關(guān)鍵之所在。本質(zhì)上這意味著代碼要以小的部件來(lái)編寫,而不是將所有代碼寫成一個(gè)大文件。
模塊化開頭有其自身的時(shí)間成本(因?yàn)槟惚仨氃谠O(shè)計(jì)文件結(jié)構(gòu)方面花費(fèi)不少心思。)但是,當(dāng)你需要變更某一部件或者想要擴(kuò)展你的應(yīng)用時(shí),這會(huì)為你節(jié)省掉不少時(shí)間。
模塊化也使得bug限制在模塊之內(nèi),如果有地方發(fā)生問(wèn)題,你會(huì)很快的找到問(wèn)題所在。
但是模塊化的濫用會(huì)導(dǎo)致代碼的臃腫和太多不必要的include語(yǔ)句,這會(huì)極大的拖慢整個(gè)應(yīng)用的運(yùn)行速度。因此在模塊化程度過(guò)高和過(guò)低之間,我們需要到一個(gè)好的平衡點(diǎn)。
一些模塊化設(shè)計(jì)模式就包含MVC 和PAC模式。
四、使用瀏覽器工具高效排除前端疑難問(wèn)題
沒(méi)有處理比跨瀏覽器的兼容和解析問(wèn)題更糟糕的事情了。這桿子事會(huì)使你瘋掉,它給你帶來(lái)的挫敗感差不多讓你覺得不砸掉點(diǎn)東西難解心頭之恨。但是集成進(jìn)瀏覽器的調(diào)試工具會(huì)使得尋找和診斷前端問(wèn)題變得分為迅速和高效。
Firebug 和Web Developer 是絕對(duì)必要的省時(shí)利器,它們已經(jīng)成了前端網(wǎng)頁(yè)開發(fā)者的必備工具。Firbug可以輕松的查看DOM,以了解其原理,以及可以在運(yùn)行中調(diào)整CSS/HTML/JS, 除此之外,也可以幫你調(diào)試和注釋(profile)你的JavaScrpt代碼,幫你弄起初究竟是什么狀況導(dǎo)致了你的腳本運(yùn)行中斷。Web Developer給你提供了一系列有用的工具,像有的工具可以讓你點(diǎn)擊一個(gè)頁(yè)面元素就可以看到有哪些樣式聲明影響了該元素,也可以使你很方便的禁用 JavaScript和CSS,讓你了解在沒(méi)有JavaScript或者CSS的情況下, 你的頁(yè)面是如何工作的。
如果你需要在IE瀏覽器下調(diào)試,你可以嘗試嘗試IE開發(fā)者工具條 。它在功能上跟Firebug和Web Developer很相似。如果你想找更多的集成在瀏覽器內(nèi)的IE調(diào)試工具來(lái)幫你i節(jié)省調(diào)試時(shí)間,你可以點(diǎn)擊這個(gè)鏈接。
五、代碼重用
如果你發(fā)現(xiàn)你自己老是在做重復(fù)的事情,這時(shí)候你應(yīng)該反思反思你的代碼結(jié)構(gòu)了?紤]學(xué)習(xí)一下常見的設(shè)計(jì)模式它會(huì)幫助你創(chuàng)建可重用的靈活的方法,函數(shù),以及對(duì)象。
打個(gè)比方,如果,你需要頻繁的鏈接到數(shù)據(jù)庫(kù),你可能需要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫(kù)的訪問(wèn)類,來(lái)處理數(shù)據(jù)庫(kù)的鏈接,查詢以及數(shù)據(jù)的提交。
六、 在線協(xié)作以及追蹤項(xiàng)目狀態(tài)
實(shí)際上——你工作并不孤單。無(wú)論你是為一個(gè)開發(fā)團(tuán)隊(duì)工作或是為某人工作(這個(gè)人可能是你上司或者你的客戶),你都應(yīng)該充分享受在線協(xié)作和追蹤項(xiàng)目狀態(tài)說(shuō)給你帶來(lái)的好處。
你在行政性任務(wù)上花費(fèi)的時(shí)間越少,或者在在無(wú)窮無(wú)盡的會(huì)議上花費(fèi)的時(shí)間越少(或者,更糟的,是那種需要出差的面對(duì)面會(huì)議)——你在代碼上花費(fèi)的時(shí)間就越多。
像Basecamp, Lighthouse, 和activeCollab 這類工具就給你提供了一站式團(tuán)隊(duì)協(xié)作服務(wù),讓你隨時(shí)追蹤項(xiàng)目的狀態(tài),你也可以設(shè)置項(xiàng)目的目標(biāo)和里程碑(milestones)——這樣所有人就可以自動(dòng)同步,為你省下頻繁回復(fù)電子郵件的時(shí)間,你也無(wú)需在進(jìn)度確認(rèn)會(huì)議上花費(fèi)大量無(wú)用時(shí)間。
這些工具l另外會(huì)幫助你區(qū)分事情輕重,確保了所有的事情都在一個(gè)集中的地方組織和記錄下來(lái)。
七、代碼的自動(dòng)格式化和標(biāo)準(zhǔn)化
你需要將你的所有代碼格式標(biāo)準(zhǔn)化,這樣做不僅僅這是一個(gè)很好的習(xí)慣,而且日后你一旦需要回來(lái)看這些代碼,這會(huì)幫你很快的理解這些代碼。
代碼的自動(dòng)格式化可以讓你一鍵格式化你所有的代碼,而不是一行一行來(lái)做這事,這也確保了代碼編寫的一致性。自動(dòng)的格式化也減少了手動(dòng)修改產(chǎn)生錯(cuò)誤的風(fēng)險(xiǎn)、
我們有許多工具來(lái)幫助我們做這事,很多是網(wǎng)絡(luò)版的工具 。對(duì)于CSS而言,一個(gè)流行的開源解決方案就是CSSTidy (Clean CSS is an CSSTidy的在線版本)。對(duì)于HTML我們有HTML Tidy。
對(duì)于腳本,我們有PHP Source Code Formatter, Ruby Script Beautifier, 和Code Beautifier Plus (這個(gè)工具是用來(lái)格式化 C#, ActionScript, and Java).
八、在需求收集和規(guī)劃階段多花時(shí)間
預(yù)防遠(yuǎn)勝過(guò)補(bǔ)救;蛟S某些思想學(xué)派的人物強(qiáng)調(diào)不要在計(jì)劃上浪費(fèi)時(shí)間——確保你已經(jīng)收集到了你需要知道的所有信息,在做功課方面花費(fèi)必要時(shí)間依然是必要的。如果在需求收集方面沒(méi)做足功課會(huì)導(dǎo)致功能泛濫(feature Creep) ,原因就是各種未曾預(yù)料到的功能需求
九、使用已經(jīng)編寫好的代碼
古人以及幫我們發(fā)明了車轱轆,所以我們也沒(méi)必要親自再搗鼓出車轱轆來(lái)。如果在某個(gè)地方看到某個(gè)感興趣的功能,其他人極有可能已經(jīng)為你寫好了代碼(嗯,不僅僅是為你,而是為我們大家。)對(duì)于PHP而言, PHP Classes Repository為你提供了大批的類和腳本供你下載和使用。Hot Scripts則提供了其他語(yǔ)言的各種腳本。如果你只是想要一些小的代碼段,你可以去devSnippets 上面淘淘寶。
注意:只有當(dāng)你具備充足的經(jīng)驗(yàn),能分辨出好代碼和差代碼,上面的這個(gè)辦法才會(huì)真正幫你大忙。否則你會(huì)發(fā)現(xiàn)你最終成品中代碼bug叢生,書寫混亂。
十、精簡(jiǎn)功能
你必須對(duì)網(wǎng)頁(yè)應(yīng)用的某些功能做一個(gè)評(píng)估,以判斷在這個(gè)功能上面的時(shí)間投入是否值得。
你的用戶真的需要一個(gè)并不經(jīng)常更新的內(nèi)容管理系統(tǒng)為每一個(gè)類別的文章提供一個(gè)自定義的RSS輸出嗎?你真的需要一個(gè)網(wǎng)站樣式轉(zhuǎn)換器來(lái)幫你檢測(cè)到用戶地理位置哪里,然后將網(wǎng)站呈現(xiàn)不同的風(fēng)格。
編寫網(wǎng)站功能就是一場(chǎng)艱苦的戰(zhàn)斗 ,不要在對(duì)終端用戶無(wú)用的功能上耗費(fèi)開發(fā)時(shí)間,況且這些功能而且會(huì)使用戶界面復(fù)雜化。
原文鏈接:21haolou.com/articles/show/150
文章編輯: 365webcall網(wǎng)站在線客服系統(tǒng)(www.365webcall.com)
我的評(píng)論
登錄賬號(hào): | 密碼: | 快速注冊(cè) | 找回密碼 |