有時候咱們會遇到一個方法就是佔滿了整個屏幕,其中各類 if else
判斷 ,for
循環嵌套,時不時來穿插着各類a b c
參數,讓人看得實在是眼花繚亂。讓後面維護的人望而卻步,也實在的代碼塊後面繼續增長,增長......當咱們看着這樣的代碼時,慶幸的事不用我來維護,坑爹的事須要本身來改,心中早已一萬個草尼瑪飄過了。java
當一些新手剛學習接觸設計模式的時候,感受就像看到了武功祕籍。想也沒想就直接網上套,各類 工廠模式,策略模式,裝飾模式等等,會顯得更加臃腫,類過多。原本是簡單的功能,會可能就會設計過分。小程序
偶然看到Mark Seemann
寫的一篇關於The 80/24 rule的博客,有很大的啓發。裏面提到的80/24
規則,說的是咱們寫的代碼塊 (每行80個字符之內,不超過24行) 還有更多的細節你們能夠點擊連接參考參考。在這樣的規則約束下,就能夠輕鬆的去掉一些代碼的壞味道。
例如:設計模式
小的代碼塊,小方法、小功能、小程序,用小而美的代碼來點綴咱們的軟件。
如何來實現小而美的代碼塊有如下幾點能夠關注微信
public ActionResult Post(ReservationDto dto) { var validationMsg = Validator.Validate(dto); if (validationMsg != "") return BadRequest(validationMsg); var reservation = Mapper.Map(dto); var reservations = Repository.ReadReservations(reservation.Date); var accepted = maîtreD.CanAccept(reservations, reservation); if (!accepted) return StatusCode( StatusCodes.Status500InternalServerError, "Couldn't accept."); var id = Repository.Create(reservation); return Ok(id); }
不要出現和業務無關的參數app
避免使用Map,Json這些複雜對象做爲參數和結果函數
有明確的輸入輸出和方法名學習
編寫能測試的函數測試
文章有幫助你,請關注微信公衆號:肆意遊離 有更多精彩等着你設計