Photo Credit: HackNY.org
怎樣的習慣或特質,才算得上「優秀」的網頁開發者呢?網頁開發教學網站 Tutorialzine 創辦人 Martin Angelov 寫下他心中優秀開發者的十個特徵
1:
1. 充分運用軟體框架
就算你程式設計的功力已經登峰造極,依然應該善用網站開發框架。它提供一系列很棒的實務做法以及程式庫(libraries),讓你不必浪費時間多此一舉,能夠心無旁騖的開發網站應用。此外還有模版、俐落的網址、整合管理(session management)、物件關聯對映(ORM)等等免費好康。網頁開發框架讓你輕鬆管理程式,而且把可能產生的資安問題最小化,所以也許你該考慮好好運用它,Wikipedia 上有完整的
框架列表供你參考。
2. 使用版本控制
版本控制系統顧名思義,就是讓你追蹤修改程式碼的過程、比較變動前後差異,與團隊成員協作。
Git 是現在網頁開發者間最流行的系統,而且很容易上手。只需單一的 init 命令,就能把你的專案資料夾轉換成軟體套件庫。經驗老道的網頁開發者把 Git 的進階功能摸得爐火純青,不過菜鳥也能做到——所有整合開發環境(IDE)都已支援 Git,就算你不熟悉指令,還是歡迎你進入 Git 的世界。
3. 重複利用程式碼
很多開發者可能都有這樣的經驗:一整天浸泡在苦思程式的情境中,自我感覺生產力高昂,沒想到偶然花了 30 秒 Google 赫然發現一座程式庫裡頭早有你好不容易建構出來的程式碼。多此一舉或「NHN 症候群」(Not Invented Here,因為不是我親自做的,所以我不想使用)是開發者經常面臨的問題。優異開發者有個特徵是,在親自動手解決問題前,他們能夠搜尋程式庫看看是否已有解法,免得浪費時間。每種程式語言都有線上軟體套件庫,使程式更容易被找到,比如 PHP 的
Packagist、Node 的
NPM、Ruby 的
Gem 等等。
4. 養成自動化測試的好習慣
就算每次重新整理瀏覽器,網頁都順利運作,也千萬不要對自己的程式過度自信,意外永遠無法預料也令人措手不及。出色的網頁開發者理解,每次程式碼變動後都進行自動化測試,是避免狀況發生的唯一方法。網頁開發框架也許就有內建的測試工具,
seleinum 也可以幫助你模擬使用者與網站互動的形式。
5. 重視資安問題
CSRF、SQL 資料隱碼攻擊(SQL injection attack)、XSS、固定攻擊(session fixation)、MITM 攻擊這些常見的網路攻擊只是冰山一角,對資安有意識的開發者都該警覺。雖然網頁開發框架的作者才需要擔心這個議題,但你最好還是了解一下,並且知道如何降低威脅,建議你參考這
系列影片以便入門。
6. 勤做註解
經驗豐富的開發者知道,「程式只寫一次,卻會讀很多次」的道理。這就是為何他們總費心為變數與函式命名,並且留下許多註解,就只為了程式碼改造為「好讀版」。每種程式語言都有約定成俗的註解區塊(doc blocks),亦即每個 class 或 method 前面出現的描述。有心的開發者甚至花時間在 wiki 頁面或其它文件中紀錄 app 的架構與其背後的技術決策。這種文檔對團隊合作貢獻不斐,畢竟成員來來去去,新人加入時若有清楚的注解可參考,才不用浪費時間瞎子摸象。
7. 從零開始架設伺服器
身為一名網站開發者,擁有基本的管理技能能夠幫助你在這條路上走得長久。畢竟所有你建立的網站都是在網路伺服器上運作。理解這些事情,有助於你解除問題、設定開發環境,自己架伺服器還可以省錢。此外,這樣的技能也能運用在設置部署策略(deployment strategy)上,透過 FTP 上傳資料容易出錯也不安全,想學習系統管理,這裡有
一系列指南供你參考。
8. 掌握最新的程式庫與工具
網頁開發日新月異,每年都有重要的新程式庫、自動化工具、建構系統、CSS 框架、預處理器(preprocessor)、甚至最終會編譯為 JavaScript 的新語言。如果自認是優秀的開發者,就應該隨時跟上新浪潮,而且樂於改變,但也不是隨波逐流,他們珍惜寶貴時間,視學習為投資。一個程式庫應當包含活躍且熱心的社群、良好的文件,追蹤 Tutorialzine 的 Twitter 以隨時跟上網站開發的最新趨勢。
9. 妥善安排時間
成天枯坐電腦前卻一事無成無疑是巨大的浪費,出色的開發者懂得規劃週計劃,把大型任務拆解為一個個小工作,他們從最簡單的工作開始,漸進到比較困難的任務,並且加快速度。他們也知道最適合自己的工作場所,有些人在家裡最能發揮生產力,有些人喜歡待在辦公室,當然也有人偏愛咖啡店或其他公共場域。
10. 保持健康
儘管這個條件看起來有點突兀,不過作為一名開發者,健康的身心與生產力之間通常呈現正相關。我們從早到晚坐在椅子上盯電腦,導致腰酸背痛脖子疼、視力衰退、體重直接上升⋯⋯不過這些身體疾患是可以避免的,比如定時休息、散散步、
7 分鐘的健身,好好睡覺,都能強健你的身心,迎接下一個挑戰。