golang项目代码重构(一)

栏目: Go · 发布时间: 5年前

刚入行,果断重构了第一个项目

  • 把功能匆匆忙忙地实现了,前后端分离的意思就是,得抓紧把接口功能实现了,以免影响别人的进度。回头一看,代码跟屎一样。果断重构!

重构

  1. 重新组织package,把功能抽象成三个主package,route --> service --> curds。路由层,处理请求参数层,数据库 curd层,使用elasticsearch,所以还有search。包之间的关系更加清晰了,也避免了之前包循环导入的问题
  2. 优化package内数据的可见性。golang根据名称首字母的大小写来控制可见性。在实现功能的过程中都是大写,以防别的包需要用到。写完之后自然需要将不导出的部分改成小写。
  3. 重命名。好的代码可以自己解释自己,注释是在代码无法解释自己的时候无奈的选择。《代码整洁之道》如是说。个人觉得该注释的时候还是得注释,有些时候最好能够将需求也注释上,比如因为 排序 的需求,需要改string类型为int类型。函数或变量命名太长很多时候跟包的设计,go文件的设计都有关系。良好的命名可以带来良好的可读性。
  4. 缩小函数,减少重复代码。Don't repeat yourself! 这个绝对是金科玉律!把若干函数中相同的部分抽离出来,作为一个函数。这是减少重复代码的有效途径。函数最好不要超过20行!单一职能原则,一个函数只做一件事情。
  5. 使用接口! interface有非常多的好处,解耦,面向“对象”等等。第二篇会上代码,详细阐述!

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

游戏人工智能编程案例精粹

游戏人工智能编程案例精粹

巴克兰德 (Mat Buckland) / 罗岱 / 人民邮电出版社 / 2008年06月 / 55.00元

《游戏人工智能编程案例精粹》适合对游戏AI开发感兴趣的爱好者和游戏AI开发人员阅读和参考。一起来看看 《游戏人工智能编程案例精粹》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具