使用Pitcher简化卫语句
生活随笔
收集整理的這篇文章主要介紹了
使用Pitcher简化卫语句
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
什么是衛語句
在方法的開頭,我們經常會添加一些檢查代碼,當檢查條件為true時立刻從方法中返回。
這樣的單獨檢查代碼被稱為“衛語句”。
例如,我們在添加用戶時會檢查用戶名不能為空,年齡必須大于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!");}//正常業務邏輯... }衛語句可以把我們的視線從異常處理中解放出來,集中精力到實現正常業務邏輯代碼中。
Pitcher
但是,當這些檢查代碼過多時,會讓代碼顯得雜亂無章,可讀性較低。
這時,可以使用nuget包Pitcher來幫助我們優化代碼。
根據條件拋出異常
示例代碼如下:
public?void?AddUser(string?name,?int?age) {Throw.When(string.IsNullOrWhiteSpace(name),?new?ArgumentNullException(nameof(name)));Throw.When(age?<=?0,?new?ArgumentOutOfRangeException(nameof(age)));//正常業務邏輯... }簡化參數檢查
對于ArgumentNullException和ArgumentOutOfRangeException,可以使用更簡化的方法。
示例代碼如下:
Throw.ArgumentNull.WhenNullOrWhiteSpace(name,?nameof(name)); Throw.ArgumentOutOfRange.WhenNegativeNumber(age,?nameof(age));泛型異常
對于沒有參數的異常或者不關心參數的情況,可以使用Throw<T>。
示例代碼如下:
Throw<InvalidOperationException>.When(age?<=?0);結論
使用Pitcher,可以讓衛語句更簡單易讀。
如果你覺得這篇文章對你有所啟發,請關注我的個人公眾號”My IO“,記住我
總結
以上是生活随笔為你收集整理的使用Pitcher简化卫语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET 6 中哈希算法的简化用法
- 下一篇: 违反GPL协议,法院判罚了!国内首例