golang項目代碼重構(一)

剛入行,果斷重構了第一個項目

  • 把功能匆匆忙忙地實現了,先後端分離的意思就是,得抓緊把接口功能實現了,以避免影響別人的進度。回頭一看,代碼跟屎同樣。果斷重構!

重構

  1. 從新組織package,把功能抽象成三個主package,route --> service --> curds。路由層,處理請求參數層,數據庫 curd層,使用elasticsearch,因此還有search。包之間的關係更加清晰了,也避免了以前包循環導入的問題
  2. 優化package內數據的可見性。golang根據名稱首字母的大小寫來控制可見性。在實現功能的過程當中都是大寫,以防別的包須要用到。寫完以後天然須要將不導出的部分改爲小寫。
  3. 重命名。好的代碼能夠本身解釋本身,註釋是在代碼沒法解釋本身的時候無奈的選擇。《代碼整潔之道》如是說。我的以爲該註釋的時候仍是得註釋,有些時候最好可以將需求也註釋上,好比由於排序的需求,須要改string類型爲int類型。函數或變量命名太長不少時候跟包的設計,go文件的設計都有關係。良好的命名能夠帶來良好的可讀性。
  4. 縮小函數,減小重複代碼。Don't repeat yourself! 這個絕對是金科玉律!把若干函數中相同的部分抽離出來,做爲一個函數。這是減小重複代碼的有效途徑。函數最好不要超過20行!單一職能原則,一個函數只作一件事情。
  5. 使用接口!interface有很是多的好處,解耦,面向「對象」等等。第二篇會上代碼,詳細闡述!
相關文章
相關標籤/搜索