组件工具 自己组建外部框架 go mod init go get gopkg.in/gin-gonic/gin.v1@v1.3.0 初始化go mod文件
Repository层 通过QueryTopicByld、QueryPostsByParentld两个实现查询
Service层 流程:参数校验、准备数据、组装实体
checkParam() prepareInfo():获取topic信息和post列表,并行处理,用到waitgroup
Controller层:
- 构建 View 对象
- 业务错误码
Route层:
- 初始化数据索引
- 初始化引擎配置
- 构建路由
- 启动服务
运行测试: go run server.go
编程原则
- 实际应用场景千变万化,各种语言的特性和语法各不相同
- 但是高质量编程遵循的原则是相通的
简单性
- 消除“多余的复杂性”,以简单清晰的逻辑编写代码
- 不理解的代码无法修复改进
可读性
- 代码是写给人看的,而不是机器
- 编写可维护代码的第一步是确保代码可读
生产力
- 团队整体工作效率非常重要