iT邦幫忙

鐵人檔案

2018 iT 邦幫忙鐵人賽
回列表
Software Development

如何讓程式碼告訴你他在做什麼? 系列

仍然看不懂自己以前寫得程式?或是別人仍然看不懂你在寫什麼?
註解說的跟程式運作的也不一樣?
如果程式能寫出如同英文子句一般的邏輯描述
那無論是程式交接,或是回顧自己一年前寫的code
豈不是更淺顯易懂?

本篇將以Clean Code 為主軸
從閱讀我們使用的SDK 的Source Code
到撰寫淺寫意懂的程式碼
並介紹為何我們會需要近代的程式碼撰寫技術與規範

範例語言為 : C# ,maybe Angular5 (此篇會盡可能減少語言之間的隔閡)

參賽天數 30 天 | 共 31 篇文章 | 9 人訂閱 訂閱系列文 RSS系列文
DAY 20

Day-20 在檯面上覆蓋一份測試 結束這回合

最後加上一組簡單的測試 上半部如何擴展及銜接,並且在符合原則下提供自由度與可讀性 大概就介紹到此 再往下之前,先提一件事情 前面講了那麼長一篇的做法,其實可能已...

2018-01-07 ‧ 由 凱大 分享
DAY 21

Day-21 案情並不單純?

在看完Input 之後,我們來接著看看Output吧 基本上無特殊情況下,普通回應即可 所以,現在談得當然就是案情並不單純 這次的範例就屬於其中一種案例 案例:...

2018-01-08 ‧ 由 凱大 分享
DAY 22

Day-22 來自異鄉的解決方案

那麼麻煩的需求,到底要怎麼解決呢? 前一陣子在網路學習平台上看到一個來自於 Functional Programming 的一個很有趣的模型 這裡就叫他為 Ei...

2018-01-09 ‧ 由 凱大 分享
DAY 23

Day-23 是通用,還是專用

有了前篇所描述的解決方案後 用相同的模型來創造一個屬於這個專案專屬的回傳型別吧 public abstract class CrawlerResult<T...

2018-01-10 ‧ 由 凱大 分享
DAY 24

Day-24 是通用,也是專用

一般來說,軟體套件的廠商基於套件適用對象的緣故 所以會使用開發人員所能理解的描述 例如:Controller , Provider , Service 而我們在...

2018-01-11 ‧ 由 凱大 分享
DAY 25

Day-25 在這瞬間!我要翻開在程式中的技術債

基於前篇所提及的說法 首先先將 CrawlerResult<IHtmlElementCollection> 換掉 並且以先前做的 CrawlerRe...

2018-01-12 ‧ 由 凱大 分享
DAY 26

Day-26 唯有掌握 Log,才能掌握 Exception

這是前篇最後提到的程式碼 async public static Task<CrawlerResult<IHtmlElementCollection...

2018-01-13 ‧ 由 凱大 分享
DAY 27

Day-27 如空氣一般的 Log

以前跟朋友討論過,什麼樣的 Log 形式是最好的呢? 而我們當時的結論是 不用寫在我程式碼裡面的Log是最好的 其中一種方法就是,讓你的程式寫得不需要 Log...

2018-01-14 ‧ 由 凱大 分享
DAY 28

Day-28 想要做什麼東西,蓋工廠就對了

接著設計兩個 Logging 與 Error public interface IHandler<T> { void...

2018-01-15 ‧ 由 凱大 分享
DAY 29

Day-29 Morpheus : Free Your Mind

在開始之前,先把一個熱門好一陣子的框架拿出來談談吧 Middleware 詳細請參考上方連結的微軟官方說明文件,我一直覺的微軟現在的MSDN Document做...

2018-01-16 ‧ 由 凱大 分享