天天看點

Code Review 有感

關于最近一次Code Review 的一些想法@TOC

前言

團隊内部會經常進行code review ,以前并沒review 自己的代碼,一直作為一個旁觀者的角度去看問題。這次review 自己的代碼之後,讓自己有意思到很多的不足。

Code Review 有感

  • 關于服務的邊界?
    • 之前自己從來沒有思考過這個問題,都是從以滿足業務為基本要求去寫代碼。舉一個簡單的例子,之前如果要提供一個修改狀态的接口,我可能隻會對外暴露一個updateStatus 的接口,他們可以把狀态(例如:INIT,FAIL,ERROR,SUCCESS)作為一個參數傳進來,調用者想要更新為什麼狀态,都可以(當然,不是所有的狀态修改都會成功,在服務内可以做一狀态的校驗)。
    • 在code review的時候,他們認為應該對外提供多個接口,比如updateStatus2SUC/updateStatus2Fail,在自己服務内部的時候,可以重用大部分的代碼。這樣隻給接口調用者最小的權限。
  • 關于接口中參數的定義?
    • 之前自己定義接口中的dto 的時候,屬性基本上和domain是一樣的。是以像updateTime,createTime 這樣的屬性都是由接口調用者設定好之後傳到服務端,然後設定/儲存到資料庫的。其實自己也知道,想updateTime 這種字段是不需要傳的,可以直接使用資料的時間。這次code review的時候,被同僚明确指出來,以後這種字段能不傳就不傳,一些可以确定的字段不需要傳,比如建立時間,初始化狀态是INIT……

希望自己在下次code review的時候有更好的表現_