我自己是華人,常用的語言也是中文,而且是繁體中文,日常的溝通都是用中文,所以我的英文並不好,但就算是英文不好,寫程式時我除了註解外統統用英文,我也一直在推廣寫程式或是對資料庫欄位命名時不要使用中文,並不是我歧視中文或是有什麼顏色或是抱外國人大腿什麼的 ...
2011-05-27
我自己是華人,常用的語言也是中文,而且是繁體中文,日常的溝通都是用中文,所以我的英文並不好,但就算是英文不好,寫程式時我除了註解外統統用英文,我也一直在推廣寫程式或是對資料庫欄位命名時不要使用中文,並不是我歧視中文或是有什麼顏色或是抱外國人大腿什麼的 ...
我們經常會對新手說:寫程式前一定要先思考,意即於此。設計決策只能透過不斷的思考訓練才能進步,坊間的書雖然也會講設計的最佳作法 (Best Practices),但不會告訴你這些作法是如何發展而來的細節資訊,這些細節只能透過學習的人一步一步的實作來感受,也因此這些設計決策是經驗累積而來的。
其實是不只是學習寫程式應有的態度,也是平時面對許多生活大小事的基本態度。
抽象化 (abstraction) 能力在物件導向領域以及 Design Pattern 中是非常重要的一項專業能力,還可以衍生出一項重要的能力,即分層 (layer) 能力,這個能力可以進一步協助抽象化能力降低元件之間的耦合性,也可以協助將應用程式切割的更細,強化程式元件的內聚性,它亦是目前軟體工程鼓吹的領域知識設計 (domain design) 的基石。
也許開發工具或元件供應商把工具和元件設計的太簡單,讓很多新手開發人員在使用這些東西時,在不知不覺中產生了一種錯覺:我只要會使用這些東西就好,不用學它背後的東西,但這是錯誤的觀念,它不但會限縮你的發展空間,也會讓你在碰到問題時不知所措。
[如何學習寫程式] 如何學習寫程式系列-前言