Never Nop Tech

Never Nop Tech

創造意義,動手去做。

該如何以有效率的方式撰寫你的程式碼?

為什麼有想打這篇文章的原因呢?因為我們常常有了一些概念卻不知如何下手去寫程式,並且以有效率的方式來撰寫它。

以前寫程式的習慣是直接想好主題,然後馬上把它寫出來。

但是這種方式會遇到下列問題:

1.程式碼的維護彈性

2.因為是倉促寫出來的,資料庫方面沒有彈性

3.會容易寫到一半不知道自己下一步要做什麼

4.無法確定明確完成的時間,容易造成拖延產生

只適合短期趕一些不重要的、一次性的作業(學校很喜歡出無聊又不實用的作業)使用。

而判斷的方法很簡單,可以問你自己「這東西完成對你而言重不重要」,如果不重要那採用上述方法便可以了。

那麼,比較好的程式撰寫流程是什麼呢?

以我自己為例,先將主題訂定目標,再來先開始撰寫文件,也許有人會說:「文件這東西是沒有用的,自己看得懂不就好了嗎?」但別輕易輕視文件,因為你可以在裡面大膽的思考使用者的行為、市場的機制、好好規劃自己的時間(甘特圖)、資料庫,當你有了文件後會發現程式碼的撰寫速度會大大提升,因為你已經擬定了大綱,可以避免大幅度修改。

比如:

我今天寫了一隻API(Application Programming Interface,即程式碼的接口),getUser這函式只要求兩個參數 name、email,因為你已經寫好了文件,訂定了這API的規格。因此,當下只要思考name、email這兩個變數做後續的動作,而不必在當下想getUser到底是要取得User的哪些資訊,API撰寫速度會提升。

並且,由於你已經規劃出整體的資料表、思考過使用者流程,不會有資料庫欄位東缺西缺的問題,資料表牽涉到CRUD(create, read, update, delete),如果你更動了一個欄位,後續便有4個以上的程式碼必須更改,而且資料表通常具有關聯性,代表當你改完一個資料表勢必需更改其他資料表的欄位。因此,在環環相扣下,整體的時間被大幅拖延。

因此調整過後的程式撰寫流程如下

1.撰寫好文件(API規格、想要的目標、使用者行為、甘特圖(即時間管理))

2.開始著手依照你的 甘特圖(專題時間管理)來撰寫你的專案

3.撰寫時將功能一個一個切細來撰寫

4.完成後開始重構整體程式碼

此外,在撰寫程式碼時有點很重要,一個一個單元測試,先讓他能夠跑起來,比如Android Studio一開始先讓他能夠編譯,跑出畫面來自己也比較心安,比較有踏實感能夠繼續寫下去。