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