使用Pitcher简化卫语句
生活随笔
收集整理的這篇文章主要介紹了
使用Pitcher简化卫语句
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
什么是衛(wèi)語句
在方法的開頭,我們經(jīng)常會(huì)添加一些檢查代碼,當(dāng)檢查條件為true時(shí)立刻從方法中返回。
這樣的單獨(dú)檢查代碼被稱為“衛(wèi)語句”。
例如,我們?cè)谔砑佑脩魰r(shí)會(huì)檢查用戶名不能為空,年齡必須大于0:
public?void?AddUser(string?name,?int?age) {if?(string.IsNullOrWhiteSpace(name)){throw?new?ArgumentException("用戶名不能為空!",?nameof(name));}if?(age<=0){throw?new?ArgumentOutOfRangeException(nameof(age),?"年齡必須大于0!");}//正常業(yè)務(wù)邏輯... }衛(wèi)語句可以把我們的視線從異常處理中解放出來,集中精力到實(shí)現(xiàn)正常業(yè)務(wù)邏輯代碼中。
Pitcher
但是,當(dāng)這些檢查代碼過多時(shí),會(huì)讓代碼顯得雜亂無章,可讀性較低。
這時(shí),可以使用nuget包Pitcher來幫助我們優(yōu)化代碼。
根據(jù)條件拋出異常
示例代碼如下:
public?void?AddUser(string?name,?int?age) {Throw.When(string.IsNullOrWhiteSpace(name),?new?ArgumentNullException(nameof(name)));Throw.When(age?<=?0,?new?ArgumentOutOfRangeException(nameof(age)));//正常業(yè)務(wù)邏輯... }簡(jiǎn)化參數(shù)檢查
對(duì)于ArgumentNullException和ArgumentOutOfRangeException,可以使用更簡(jiǎn)化的方法。
示例代碼如下:
Throw.ArgumentNull.WhenNullOrWhiteSpace(name,?nameof(name)); Throw.ArgumentOutOfRange.WhenNegativeNumber(age,?nameof(age));泛型異常
對(duì)于沒有參數(shù)的異常或者不關(guān)心參數(shù)的情況,可以使用Throw<T>。
示例代碼如下:
Throw<InvalidOperationException>.When(age?<=?0);結(jié)論
使用Pitcher,可以讓衛(wèi)語句更簡(jiǎn)單易讀。
如果你覺得這篇文章對(duì)你有所啟發(fā),請(qǐng)關(guān)注我的個(gè)人公眾號(hào)”My IO“,記住我
總結(jié)
以上是生活随笔為你收集整理的使用Pitcher简化卫语句的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET 6 中哈希算法的简化用法
- 下一篇: ASP.Net Core Web API