最近有人問我,新手程式設計師,和資深程式設計師,究竟有什麼差別呢?

因此畫了幾張畫,來表達兩者之間的區別

 

 

  • 新手程式設計師的設計過程
    新手程式設計師.png
    不斷嘗試各種解法,繞來繞去,出了一堆BUG、然後除錯,直到把程式寫完






  • 資深程式設計師的設計過程
    資深程式設計師.png   


    不斷嘗試各種解法,在可能遇上BUG前就發現方向不對,省了很多道路,最後甚至創造了新解法







 

 

  • 新手程式設計師的目標
    新手程式設計師2.png

    把問題解開就好了,是嗎?

 

 

  • 資深程式設計師的目標
    資深程式設計師2.png  

      
    還有更好的解法,不是嗎?







  • 新手程式設計師的設計階段
    新手程式設計師3.png 

    花很少時間去理解問題、想出解法,快速寫完程式,然後花很多時間除錯(Debug)



  • 資深程式設計師的目標
    資深程式設計師3.png

    花很多時間去理解問題、苦思最好解法,僅花一點時間寫完程式和除錯

 

 

,

天使 發表在 痞客邦 PIXNET 留言(8) 人氣()

留言列表 (8)

發表留言
  • 陳子琦
  • 我知道這個情境是在講效能
    但我覺得第4張圖就以可讀性而言還不如上一張
  • 巴比特
  • 雖然有道理,但是這個我不是完全認同...哈哈。一個技術練到熟,那這篇講的就符合。但現實畢竟還是要看環境跟情況,如果每天面對壓縮時間的競賽,事前的規畫根本很難做好。加上這個案子跟下個案子用到的技術完全不同(今年C#開發遊戲,明年Java應用,後年使用PHP寫網頁),學習加上製作,就算是我從事coding業十年到最後也是得要花不少時間在debug我未於到的bug。不過學習速度還是有差,會越練越強
  • 悄悄話
  • 訪客
  • 一樓的有理~ 從公司的角度來看, 不是你寫的code多簡潔漂亮就比較好, 我反而喜歡笨一點但是每個人都看得懂的東西, 因為總有一天你的code會交接給別人, 與其留一堆玄之又玄的code給別人, 還不如用小孩子都看得懂的寫法...

    除非這個function是在critical path, 被profile 後發現是performance 的bottleneck, 不然我不覺得圖4 有好到哪裡...
  • 訪客
  • 基本上程式設計新手老手差別主要就是規劃,新手是想到哪寫到哪,老手是想出整體規劃然後一次到位,DEBUG大家都一樣,沒有誰可以略過DEBUG的部分,最多就是因為經驗問題知道不能這樣不能那樣,所以不使用這步驟!
    在然後程式簡潔並不一定都是好處,有時候用編譯器函數50個指令不一定比直接寫出80個基礎指令來的處理速度快,另外就是,程式碼越多行獎金才會高阿!
    基本上第一張圖片,不會真的那麼神,這不是拍電影。第二張圖代表著對那語言的熟悉程度,以及公式的使用(你不會做的題目,給你計算機你也算不出來啊)。最後一張也不算太正確,最後的DEBUG不管是資深工程師還是入門工程師都是需要大量時間的,差別是規劃好了之後寫出城市的時間理應也該縮短。
    職場上新手老手最大差別大概就在於,新手會想把BUG修正,讓功能強化(異想天開),老手就是,多加一堆程式碼,把會產生BUG的動作阻擋下來,反正客戶也不需要那個東西,別發生錯誤就好,程式碼多了還有獎金。
    真正專業的,大公司挖腳走了,在小公司的苦哈哈的被非專業主管壓著。
  • 訪客
  • 不認同這篇...推六樓的大大
  • Den
  • 資歷帶來的明顯優勢是判斷力以及熟練度. 判斷力可以看出專案階段性位置或是技術優略. 熟練度就是對職場上真正會用到的特定技能的反覆練習。
    但資歷不會對以上所列帶來基本上的改變。邏輯思維在學習階段早早就會定型了。
【 X 關閉 】

【PIXNET 痞客邦】國外旅遊調查
您是我們挑選到的讀者!

填完問卷將有機會獲得心動好禮哦(注意:關閉此視窗將不再出現)

立即填寫取消