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有非常多的好处,解耦,面向“对象”等等。第二篇会上代码,详细阐述!
    原文作者:Mandelbrot_Kobe
    原文地址: https://segmentfault.com/a/1190000017417773
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞