我們都希望能夠在我們所做的事情中得到成長(zhǎng),在WEB開(kāi)發(fā)領(lǐng)域,我們花費(fèi)時(shí)間最多的就是編寫(xiě)代碼。這可能包括HTML, CSS, JavaScript, PHP, Python, ActionScript或者任何其他你構(gòu)建WEB站點(diǎn)時(shí)選用的語(yǔ)言。
這篇文章中,我們將分享一些實(shí)際的步驟,使你可以擴(kuò)充技能,成為一個(gè)更優(yōu)秀的程序員。我們提出五個(gè)不同的生活習(xí)慣,它們可以使你在你所從事的領(lǐng)域變得更加優(yōu)秀。
1. 一個(gè)時(shí)間段內(nèi)只專(zhuān)注于一種類(lèi)型的語(yǔ)言
如果你正在設(shè)計(jì)或開(kāi)發(fā)網(wǎng)站,你將需要同時(shí)熟悉多種不同的語(yǔ)言。你可能會(huì)想同時(shí)學(xué)習(xí)所有的這些語(yǔ)言,特別是考慮到它們是如何相互關(guān)聯(lián)的。
我想,在某種程度上,這是不可避免的。但如果你真的想快速提高,我建議你專(zhuān)注于一個(gè)特定領(lǐng)域的專(zhuān)業(yè)知識(shí)。你想更好地利用CSS?把你的重點(diǎn)放在這一點(diǎn)。嘗試使用一個(gè)單一的HTML文檔只使用CSS實(shí)現(xiàn)不同的布局。CSS Zen Garden 是一個(gè)使用相同布局實(shí)現(xiàn)不同頁(yè)面樣式非常棒的例子。你也可以通過(guò)查找元素的列表,并把精力集中在里面。舉個(gè)例子來(lái)說(shuō),你熟悉CSS2,但想提升對(duì)CSS3的理解,你可以學(xué)習(xí)CSS3屬性并逐一的實(shí)現(xiàn)它們。你可以閱讀當(dāng)前的CSS3規(guī)范,還可以通過(guò)每個(gè)模塊的學(xué)習(xí)來(lái)了解它在瀏覽器上能(或不能)做什么。
對(duì)于腳本類(lèi)的語(yǔ)言如JavaScript和PHP,你也可以用類(lèi)似的方法,雖然對(duì)它們的函數(shù)進(jìn)行這樣的操作有點(diǎn)乏味。另外一種選擇是選擇一個(gè)教程來(lái)學(xué)習(xí),特別是對(duì)于你工作中需要的方面。
你想對(duì)WordPress 開(kāi)發(fā)更加精通?有太多相關(guān)的教程了。想要了解更多關(guān)于服務(wù)器端圖像處理的操作嗎?也有很多的教程。找到它們,添加書(shū)簽,并逐步學(xué)習(xí)。
選擇一個(gè),并堅(jiān)持下去,直到你掌握了它,然后移動(dòng)到下一個(gè)。
2. 通過(guò)注釋來(lái)寫(xiě)邏輯
說(shuō)到編碼,我有堅(jiān)持很多原則和想法。其中一個(gè)就是,代碼中95%都是邏輯。另一個(gè)就是從人類(lèi)語(yǔ)言到編程語(yǔ)言,邏輯并沒(méi)有改變。
這也就是意味著,如果你能在代碼中寫(xiě)出來(lái),也就可以用英語(yǔ)或者其他語(yǔ)言寫(xiě)下來(lái)。
例如,假設(shè)我想根據(jù)一天中的時(shí)間來(lái)鎖定或者解鎖某個(gè)東西。我們可以先退一步,用簡(jiǎn)單的英語(yǔ)注釋先把邏輯寫(xiě)下來(lái),而不是直接編寫(xiě)函數(shù)代碼。
例子:
// FUNCTION: Lock On Time
// This function will accept two time values, indicating the range through
// which it should return an unlocked status.
// Create a new data object
// Using the data object, get the current time
// IF the current time falls within the range passed to the function
// Return false – meaning that we are currently unlocked
// ELSE
// Return true – meaning that we are currently locked.
// ENDIF
// END FUNCTION
這里我們列出來(lái)函數(shù)完整的邏輯結(jié)構(gòu),這就類(lèi)似于我們建造房屋時(shí)的藍(lán)圖?,F(xiàn)在開(kāi)始我們就可以根據(jù)注釋的引導(dǎo)來(lái)編寫(xiě)實(shí)際的代碼了。
很顯然這是一個(gè)比較簡(jiǎn)單的例子,但我在實(shí)現(xiàn)復(fù)雜的函數(shù)時(shí)也經(jīng)常使用這種技術(shù)。通過(guò)這種方式,我可以在編寫(xiě)函數(shù)之前先考慮好完整的邏輯。我發(fā)現(xiàn)這是一個(gè)非常有價(jià)值的習(xí)慣,它可以使你犯更少的錯(cuò)誤。
我很少會(huì)刪除注釋?zhuān)谧⑨屩袑?xiě)邏輯同時(shí)也意味著我已經(jīng)為代碼寫(xiě)好了文檔,它使得別人很容易就能理解我的邏輯,甚至對(duì)于過(guò)了幾個(gè)月或幾年以后返回來(lái)查看代碼的自己也是這樣。
3. 學(xué)習(xí)模版、插件和開(kāi)源的代碼
網(wǎng)絡(luò)是一個(gè)非常開(kāi)放的地方,尤其是在開(kāi)發(fā)社區(qū)中。這為想成為優(yōu)秀程序員的人提供了非常寶貴的資源。
例如,你剛剛接觸HTML,你可以從網(wǎng)上下載無(wú)數(shù)免費(fèi)的模版,因?yàn)檫@些模版通常只是純HTML(以及CSS和JavaScript),所以它們可以在本地運(yùn)行,給你提供了學(xué)習(xí)這些代碼很好的機(jī)會(huì)。學(xué)習(xí)其中的標(biāo)簽和結(jié)構(gòu)來(lái)更好的理解它們,修改下樣式表看看會(huì)發(fā)生什么。
當(dāng)然,我強(qiáng)烈建議你閱讀一些有關(guān)標(biāo)準(zhǔn)和最佳實(shí)踐的資源,你肯定不想自己養(yǎng)成壞的編碼習(xí)慣。
這對(duì)于學(xué)習(xí)JavaScript和PHP等更有用,它們的范圍和邏輯相比HTML、CSS等更復(fù)雜。
例如,WordPress這樣的內(nèi)容管理系統(tǒng),就是完全使用不同的PHP腳本編寫(xiě)的函數(shù)組成的。同時(shí),它還支持對(duì)核心函數(shù)進(jìn)行擴(kuò)展,允許你下載安裝各種非??岬牟寮?。WordPress 和它的插件的好處就是它們都是完全開(kāi)源的,你可以完整的瀏覽它們的源代碼。
關(guān)于這個(gè)習(xí)慣的最后一點(diǎn)忠告:永遠(yuǎn)不要只是使用別人的代碼結(jié)構(gòu),你應(yīng)當(dāng)確保自己理解了它們,而不只是模仿別人的代碼。要考慮代碼是否符合特定語(yǔ)言的流程和標(biāo)準(zhǔn),這也有助于讓你避免養(yǎng)成壞的編程習(xí)慣。
4. 讀書(shū)
雖然網(wǎng)路上各種博客中都有很多有用的信息,但我仍覺(jué)得這并不如閱讀一本相關(guān)主題的書(shū)好。博客可能是關(guān)于特定主題的文章或者教程,而不像書(shū)那樣可以幫你建立起對(duì)于特定主題強(qiáng)大的基礎(chǔ)的理解。
我從上世紀(jì)90年代末到21世紀(jì)初我一直使用 table 布局,直到我厭倦了它們,那時(shí)我才意識(shí)到是時(shí)候使用 DIV 布局了。然而在那時(shí),我只是嘗試使用正確的標(biāo)記,而沒(méi)有完全理解CSS選擇器的語(yǔ)法這已DIV 布局中非常重要的一部分。因此,我并不了解偽類(lèi),整個(gè)特異性和繼承的概念對(duì)我沒(méi)有意義,定位和浮動(dòng)的概念也是這樣。
現(xiàn)在,我從各種博客的信息中東拼西湊慢慢學(xué)會(huì)了該語(yǔ)言(其實(shí)我可以花費(fèi)更少的時(shí)間),對(duì)CSS有了更全面的了解。這需要花費(fèi)很多的時(shí)間,而我又有工作要做,所以我一直在尋找一個(gè)更恰當(dāng)?shù)慕鉀Q方案。
所以我買(mǎi)了Charles Wyke-Smith寫(xiě)的Stylin’ With CSS這本書(shū)。這是一個(gè)啟示。短短的幾章內(nèi)容就讓我理解了CSS的基本概念。所有我之前不知道的,都以很好的組織方式教會(huì)了我。大概只需要一天的時(shí)間,我就獲得了與從各種博客中需要花費(fèi)幾周甚至幾個(gè)月時(shí)間獲取到的相同的知識(shí)。
當(dāng)然,從那開(kāi)始我學(xué)到了很多CSS的知識(shí),但這本書(shū)真的我讓我學(xué)會(huì)了了CSS的入門(mén)基礎(chǔ)知識(shí),至今我仍把它放在書(shū)架上作為參考。
如果你想從零開(kāi)始學(xué)習(xí)一門(mén)新的技術(shù),通過(guò)一本書(shū)來(lái)學(xué)習(xí)肯定是最好的選擇之一。
5. 實(shí)踐
最后,我建議你養(yǎng)成的習(xí)慣就是樂(lè)趣。坐下來(lái),看看靠你自己能夠完成什么樣的東西。
目前,CSS3是一種流行的趨勢(shì),不同的程序員試圖推動(dòng)技術(shù),你可以發(fā)現(xiàn)其真正的能力。下面是一些例子:
- CSS3 Transforms & @font-face Experiment
- CSS Posters
- Pure CSS Line Graph
- CSS3 Leopard-style Stacks
- Pure CSS Twitter Fail Whale
當(dāng)然,這些CSS有些并不完全實(shí)用,其中最著名的可能就是純CSS實(shí)現(xiàn)的Twitter fail whale illustration,這耗時(shí)間嗎?是的。這實(shí)用嗎?并不。但它肯定很有趣,并且可以證明CSS是如何的強(qiáng)大。
你可以進(jìn)行什么樣的編碼實(shí)驗(yàn)?它是一個(gè)有趣和有效的方式來(lái)學(xué)習(xí)。
結(jié)語(yǔ)
這就是所有的可以提高你編程能力的5個(gè)習(xí)慣,可能并不是每一個(gè)都和你有關(guān),但希望你能找到至少一個(gè)吸引你的習(xí)慣。請(qǐng)記住,這個(gè)叫做互聯(lián)網(wǎng)的地方是在不斷成長(zhǎng)和發(fā)展的,想成為優(yōu)秀的程序員就意味著要不斷的學(xué)習(xí)和成長(zhǎng)。
via:sixrevisions.com,由 Specs 翻譯整理,發(fā)布在 Coder資源網(wǎng),轉(zhuǎn)載請(qǐng)注明來(lái)源。
哈爾濱品用軟件有限公司致力于為哈爾濱的中小企業(yè)制作大氣、美觀(guān)的優(yōu)秀網(wǎng)站,并且能夠搭建符合百度排名規(guī)范的網(wǎng)站基底,使您的網(wǎng)站無(wú)需額外費(fèi)用,即可穩(wěn)步提升排名至首頁(yè)。歡迎體驗(yàn)最佳的哈爾濱網(wǎng)站建設(shè)。
