仍然看不懂自己以前寫得程式?或是別人仍然看不懂你在寫什麼?
註解說的跟程式運作的也不一樣?
如果程式能寫出如同英文子句一般的邏輯描述
那無論是程式交接,或是回顧自己一年前寫的code
豈不是更淺顯易懂?
本篇將以Clean Code 為主軸
從閱讀我們使用的SDK 的Source Code
到撰寫淺寫意懂的程式碼
並介紹為何我們會需要近代的程式碼撰寫技術與規範
範例語言為 : C# ,maybe Angular5 (此篇會盡可能減少語言之間的隔閡)
說的那麼厲害,所以那個測(ㄐㄧㄤˋ)試(ㄓ)呢? 我們就從爬蟲那個介面開始吧 這裡使用先前的方法 利用方法名稱來描述方法 就用 3A 來嘗試吧 Arrange...
現在先回頭看看前面的做法與想法是一個什麼樣的思維 首先要了解一件事情 程式語言就像是日文,英文等,是一個溝通的語言 只是這次溝通的對象是機械,或是編譯器 如果我...
先來說說方法命名吧 一般來說方法多會以動作來命名 ex:Get, Set, InvokeAsync, FindAll, Query 而像是我們前面所使用的範例也...
在說完方法之後,來說說類別的命名方式 這裡借用一下 DDD 的一個詞彙叫做 Domain 中文可以稱為定義域 所謂的定義域是指包含主要描述對象的所有相關元件的範...
在語言的文法上,有所謂的介系詞 其目的在於讓前述的事物可以與其他詞句連貫,並表達其作用關係 所以我們在描述需求或是程式的時候 勢必也需要同樣的作法 通常這樣的文...
於前篇提了方法的 Input 現在來講 OutPut Output 可就不像是Input 那麼單純了 就從最基本的開始吧 object Method(objec...
一般來說呢,功能與功能之間的串接,多半都會借助於先前提到的擴充方法 基於SOLID的責任單一原則 我們一個類別應該只做一件事情 所以接收各種Input 與輸出各...
在前面我們增加了幾個擴充的入口 我們來因應幾個常見的使用法來在一次的將入口擴充吧 請注意,此篇所介紹的內容並不需要總是完全實作 應該要依照需求(含團隊隊員的需求...
由前篇最後做出來的效果,在我看來並不是那麼好 原因如下: 依序對應參數帶入的實際上並不是很好的高可讀性作法,因為他無法被描述成子句 無法判斷其參數的正確性,或...
接下來繼續前篇未完成的部分 首先是Url,在大多數的狀況下都會是用String來設定 所以就額外加入一個擴充方法叫SetUrl public stati...