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有非常多的好处,解耦,面向“对象”等等。第二篇会上代码,详细阐述!

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

查看所有标签

猜你喜欢:

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

物联网导论(第2版)

物联网导论(第2版)

刘云浩 / 科学出版社 / 2013-8 / 45.00元

物联网是一个基于互联网、传统电信网等信息承载体,让所有能够被独立寻址的普通物理对象实现互联互通的网络。它具有普通对象设备化、自治终端互联化和普适服务智能化三个重要特征。 《物联网工程专业系列教材:物联网导论(第2版)》从物联网的感知识别层、网络构建层、管理服务层和综合应用层这四层分别进行阐述,深入浅出地为读者拨开萦绕于物联网这个概念的重重迷雾,引领求知者渐渐步入物联网世界,帮助探索者把握第三......一起来看看 《物联网导论(第2版)》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具