¢每次必備的前言

原文:What Makes a Good Programmer?

雖然在 FB 上已經有分享,但是想了一下還是自己做一下記錄
主要就是在說明是什麼造就了一個好的程式設計師、及其應有的素養
後面應有的素養是我加油添醋的,請英文高手不要鞭我......不過還是歡迎來鞭我(誒你...

What Makes a Good Programmer?
1. PROBLEM DECOMPOSITION
2. SCENARIO ANALYSIS
3. NAMING
4. CONSISTENCY
5. LEARNING

如何成為一個好的程式設計師與擁有其素養

1. 解決問題、處理問題的能力
  
  在工作上我們一定會遇到許多實作層面才會遇到的難題,而此時 survey 與問題的處理能力就非常重要
  而程式設計師就更不用說了,除了單純地解決問題外,我們必須非常清楚了解問題要如何解決
  而一個好的程設師能夠將每個問題、架構分解成更加細節的部分
  
  使程式更容易處理、架構、測試......etc
  而一個擁有好結構的程式更是容易讓其他人閱讀的文章
  程式設計師的結構就等於是你所寫出的文章結構,最好的 code 僅僅用 method name 就可以代替註解
  
2. 情境分析
  
  身為一個好的程設師,必須有能力考慮各種不同的情境與狀況
  包含了程式邏輯何時會出現 Nullpoint ,抑或是無此參數或欄位時的處理模式
  如何的寫法能夠更好維護,並且不造成程式過於龐大而導致難以維護的本末倒置狀況
  
  這樣的寫法安全嗎? Thread 與 Cache 的控制有考慮進去嗎?
  怎麼樣的使用者習慣操作會導致如何的 Crash ?
  而我們是否只是一個毫無經驗的程式設計師,只懂得讓程式可以 Run ,而不考慮後續的維護與團隊合作?
  
3. 命名
  
  命名是一個大學問,更可以說是每個工程師每天都會思考的問題
  就如上述所說,最好的程式架構是一篇美麗的文章,可以讓閱讀者一看就懂
  這就套用了 Clean Code 的概念,而命名不僅僅是包含 Class 和 Method ,也包含了各個變數與參數
  
  在此就不詳細贅述了。
  
4. 一致性
  
  程式只要大到一定程度,都有一定的複雜度,而我們是不可能完全記住這龐大架構裡的每個細節
  所以我們對於這個架構必須要有一定的規則,讓我們可以遵從這樣的規範,降低維護與開發成本
  一致性可運用的範圍很廣,從命名、錯誤處理到設計結構,我們必須確保這些並不會擾亂我們的邏輯與思考
  
  越是有規範的結構,就越是容易理解並進行開發與維護
5. 學習
  
  不用說了,保持你的學習精神與態度
  你必須了解什麼是該做什麼是不該做的
  隨著經驗,你也能預測到各種可能的情況並推測解決方案
  
  我們永遠不可能停下腳步,停下腳步就幾乎意味著淘汰
  

Comments

comments powered by Disqus