Web程式設計師應有的七個特質
Published in
Jan 16, 2022
注重觀念
- 了解底層運作原理:
在電腦0101的世界裡,並不存在基因突變,任何工具或framework都沒有”特異功能” ,最終還是會透過某個原理來完成工作
ex: Laravel IOC https://ithelp.ithome.com.tw/articles/10219258 - GIGO(Garbage In, Garbage Out):
垃圾進垃圾出,你的程式不是google 搜尋,不會幫你修正輸入
https://terms.naer.edu.tw/detail/1679759/?index=7
任何問題都要先由來源(input)查起 - 熟記觀念 =轉換技術容易:
沒有人可以保證某個技術可以用一輩子不換
ex:asp - 拒當碼農
不要只會copy + paste,先了解這段程式的全部作用,然後……還是copy + paste (多打多錯)
專精技術
- 避免程式語言轉換成本:
程式語言或framework特性不同,不斷切換容易出事
ex: switch cace ,在php 會轉換型別,在javascript則不會 - 腦容量有限:
專精2~3種技術,其他靠google
不斷更新
- 技術不進則退:
任何程式語言都有漏洞,或是隨著硬體,作業系統的進化,而需要改版,中間會有多少改變,永遠抓不準,只能不斷跟上,才不會被淘汰 - 避免處在封閉的開發環境:
技術會有所謂的主流,除非你有把握做到退休,否則…
ex: laravel 和vue 的流行 https://kknews.cc/zh-tw/code/36mmzla.html - 老闆想要的永遠比你會的還多:
BJ4 - 更新資安問題,但不去追求最新版本的工具或套件,避免當白老鼠
重視溝通
- 減少來來回回的成本:
把時間和精力花在專案初期的溝通上,會比你誤解需求來回修改程式的成本低 - 善用工具:
製作清楚的api文件,流程圖等,來取代複雜的文字說明 - 統一用詞:
秦始皇的車同軌、書同文,確保大家在講的是同樣的東西
強調品質
- 墨菲定律:
程式總是會在你沒有測試就上線的那次出問題 - 測試就是你自己的責任:
不管PM和QA在怎麼幫你測試,最終修正bug的工作還是會回到你的身上來,為了避免debug的麻煩,何不在一開始就好好測試減少bug? - 不要害怕重構自己的程式:
良好的品質,建立在良好的架構上,避免最後歪樓,該重構的程式還是要好好去面對他 - 懶惰反而成就品質:
因為懶惰,所以程式上線後,除了系統異常時,我一點都不想去關心他。我們就是要為了這個懶惰而去思考或使用工具,所謂科技始終來自於人性
時間管理
- 要事第一:
插件永遠不會停,清楚了解每個任務的重要性,dead line,排定好優先順序 - 學會預估工時:
先找出任務最麻煩的部份,思考會不會卡關,如果會卡關,能不能切分任務,無法預估的部份再另外排定工時或是尋求他人協助 - 主動回報延遲:
地球不會因為你估好工時而停止轉動,突發狀況總是說來就來,一天24小時也不會因為你的延遲而增加,明天總是會來。
主動回報,讓大家有辦法提前應對,才是時間管理最重要的課題
思考方案
- 思考要解決什麼問題:
任何程式都是為了解決問題而存在,不要完全不思考就進行開發 - 標準寫法:
有的web功能有所謂的標準寫法,不要自創寫法,讓自己的程式曝露在危險下 ex: PDO的使用 , - 考慮解決方案:
可以考慮以下幾點來提供方案:效能 、人力成本 、機器成本、回應速度、穩定性、開發時間 - 提供備案:
解決問題的方案一定不只一種,最好要提供多種方案來應對外在的變化 - 決定方案:
一次到位 > 先求有再求好 > 委外
沒有哪個比較好,但一定要多方共同思考決定