可以使你成為更優秀程序員的5個好習慣

jopen 9年前發布 | 11K 次閱讀 程序員

我們都希望能夠在我們所做的事情中得到成長,在WEB開發領域,我們花費時間最多的就是編寫代碼。這可能包括HTML, CSS, JavaScript, PHP, Python, ActionScript或者任何其他你構建WEB站點時選用的語言。

這篇文章中,我們將分享一些實際的步驟,使你可以擴充技能,成為一個更優秀的程序員。我們提出五個不同的生活習慣,它們可以使你在你所從事的領域變得更加優秀。

1. 一個時間段內只專注于一種類型的語言

如果你正在設計或開發網站,你將需要同時熟悉多種不同的語言。你可能會想同時學習所有的這些語言,特別是考慮到它們是如何相互關聯的。

我想,在某種程度上,這是不可避免的。但如果你真的想快速提高,我建議你專注于一個特定領域的專業知識。你想更好地利用CSS?把你的重點放在這一點。嘗試使用一個單一的HTML文檔只使用CSS實現不同的布局。 CSS Zen Garden 是一個使用相同布局實現不同頁面樣式非常棒的例子。你也可以通過查找元素的列表,并把精力集中在里面。舉個例子來說,你熟悉CSS2,但想提升對 CSS3 的理解,你可以學習CSS3屬性并逐一的實現它們。你可以閱讀當前的 CSS3規范 ,還可以通過每個模塊的學習來了解它在瀏覽器上能(或不能)做什么。

對于腳本類的語言如JavaScript和PHP,你也可以用類似的方法,雖然對它們的函數進行這樣的操作有點乏味。另外一種選擇是選擇一個教程來學習,特別是對于你工作中需要的方面。

你想對WordPress 開發更加精通?有太多 相關的教程 了。想要了解更多關于服務器端圖像處理的操作嗎?也有很多的教程。找到它們,添加書簽,并逐步學習。

選擇一個,并堅持下去,直到你掌握了它,然后移動到下一個。

2. 通過注釋來寫邏輯

說到編碼,我有堅持很多原則和想法。其中一個就是,代碼中95%都是邏輯。另一個就是從人類語言到編程語言,邏輯并沒有改變。

這也就是意味著,如果你能在代碼中寫出來,也就可以用英語或者其他語言寫下來。

例如,假設我想根據一天中的時間來鎖定或者解鎖某個東西。我們可以先退一步,用簡單的英語注釋先把邏輯寫下來,而不是直接編寫函數代碼。

例子:

// 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

這里我們列出來函數完整的邏輯結構,這就類似于我們建造房屋時的藍圖。現在開始我們就可以根據注釋的引導來編寫實際的代碼了。

很顯然這是一個比較簡單的例子,但我在實現復雜的函數時也經常使用這種技術。通過這種方式,我可以在編寫函數之前先考慮好完整的邏輯。我發現這是一個非常有價值的習慣,它可以使你犯更少的錯誤。

我很少會刪除注釋,在注釋中寫邏輯同時也意味著我已經為代碼寫好了文檔,它使得別人很容易就能理解我的邏輯,甚至對于過了幾個月或幾年以后返回來查看代碼的自己也是這樣。

3. 學習模版、插件和開源的代碼

網絡是一個非常開放的地方,尤其是在開發社區中。這為想成為優秀程序員的人提供了非常寶貴的資源。

例如,你剛剛接觸HTML,你可以從網上下載無數免費的模版,因為這些模版通常只是純HTML(以及CSS和JavaScript),所以它們可以在本地運行,給你提供了學習這些代碼很好的機會。學習其中的標簽和結構來更好的理解它們,修改下樣式表看看會發生什么。

當然,我強烈建議你閱讀一些有關標準和最佳實踐的資源,你肯定不想自己養成壞的編碼習慣。

這對于學習JavaScript和PHP等更有用,它們的范圍和邏輯相比HTML、CSS等更復雜。

例如,WordPress這樣的內容管理系統,就是完全使用不同的PHP腳本編寫的函數組成的。同時,它還支持對核心函數進行擴展,允許你下載安裝各種非常酷的插件。WordPress 和它的插件的好處就是它們都是完全開源的,你可以完整的瀏覽它們的源代碼。

關于這個習慣的最后一點忠告:永遠不要只是使用別人的代碼結構, 你應當確保自己理解了它們 ,而不只是模仿別人的代碼。要考慮代碼是否符合特定語言的流程和標準,這也有助于讓你避免養成壞的編程習慣。

4. 讀書

雖然網路上各種博客中 都有很多有用的信息 ,但我仍覺得這并不如閱讀一本相關主題的書好。博客可能是關于特定主題的文章或者教程,而不像書那樣可以幫你建立起對于特定主題強大的基礎的理解。

我從上世紀90年代末到21世紀初我一直使用 table 布局,直到我厭倦了它們,那時我才意識到是時候使用 DIV 布局了。然而在那時,我只是嘗試使用正確的標記,而沒有完全理解CSS選擇器的語法這已DIV 布局中非常重要的一部分。因此,我并不了解偽類,整個特異性和繼承的概念對我沒有意義,定位和浮動的概念也是這樣。

現在,我從各種博客的信息中東拼西湊慢慢學會了該語言(其實我可以花費更少的時間),對CSS有了更全面的了解。這需要花費很多的時間,而我又有工作要做,所以我一直在尋找一個更恰當的解決方案。

所以我買了 Charles Wyke-Smith 寫的Stylin’ With CSS這本書。這是一個啟示。短短的幾章內容就讓我理解了CSS的基本概念。所有我之前不知道的,都以很好的組織方式教會了我。大概只需要一天的時間,我就獲得了與從各種博客中需要花費幾周甚至幾個月時間獲取到的相同的知識。

當然,從那開始我學到了很多CSS的知識,但這本書真的我讓我學會了了CSS的入門基礎知識,至今我仍把它放在書架上作為參考。

如果你想從零開始學習一門新的技術,通過一本書來學習肯定是最好的選擇之一。

5. 實踐

最后,我建議你養成的習慣就是樂趣。坐下來,看看靠你自己能夠完成什么樣的東西。

目前,CSS3是一種流行的趨勢,不同的程序員試圖推動技術,你可以發現其真正的能力。下面是一些例子:

當然,這些CSS有些并不完全實用,其中最著名的可能就是純CSS實現的推ter fail whale illustration,這耗時間嗎?是的。這實用嗎?并不。但它肯定很有趣,并且可以證明CSS是如何的強大。

你可以進行什么樣的編碼實驗?它是一個有趣和有效的方式來學習。

結語

這就是所有的可以提高你編程能力的5個習慣,可能并不是每一個都和你有關,但希望你能找到至少一個吸引你的習慣。請記住,這個叫做互聯網的地方是在不斷成長和發展的,想成為優秀的程序員就意味著要不斷的學習和成長。

via: sixrevisions.com ,由Specs 翻譯整理,發布在Coder資源網,轉載請注明來源。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!