Go 语言项目开发实战
孔令飞
腾讯云资深工程师,前Red Hat、联想云工程师
新⼈⾸单¥69.9
1792 人已学习
课程目录
已更新 7 讲 / 共 54 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 从 0 开始搭建一个企业级 Go 应用
免费
课前必学 (3讲)
01 | IAM系统概述:我们要实现什么样的 Go 项目?
02 | 环境准备:如何安装和配置一个基本的 Go 开发环境?
03 | 项目部署:如何快速部署 IAM 系统?
实战第 1 站:规范设计 (3讲)
04 | 规范设计(上):项目开发杂乱无章,如何规范?
05 | 规范设计(下):commit 信息风格迥异、难以阅读,如何规范?
06 | 目录结构设计:如何组织一个可维护、可扩展的代码目录?
Go 语言项目开发实战
15
15
1.0x
00:00/00:00
登录|注册

06 | 目录结构设计:如何组织一个可维护、可扩展的代码目录?

孔令飞 2021-06-05
你好,我是孔令飞。今天我们来聊聊如何设计代码的目录结构。
目录结构是一个项目的门面。很多时候,根据目录结构就能看出开发者对这门语言的掌握程度。所以,在我看来,遵循一个好的目录规范,把代码目录设计得可维护、可扩展,甚至比文档规范、Commit 规范来得更加重要。
那具体怎么组织一个好的代码目录呢?在今天这一讲,我会从 2 个维度来解答这个问题。
首先,我会介绍组织目录的一些基本原则,这些原则可以指导你去组织一个好的代码目录。然后,我会向你介绍一些具体的、优秀的目录结构。你可以通过学习它们,提炼总结出你自己的目录结构设计方法,或者你也可以直接用它们作为你的目录结构规范,也就是说结构即规范。

如何规范目录?

想设计好一个目录结构,我们首先要知道一个好的目录长什么样,也就是目录规范中包含哪些内容。
目录规范,通常是指我们的项目由哪些目录组成,每个目录下存放什么文件、实现什么功能,以及各个目录间的依赖关系是什么等。在我看来,一个好的目录结构至少要满足以下几个要求:
命名清晰:目录命名要清晰、简洁,不要太长,也不要太短,目录名要能清晰地表达出该目录实现的功能,并且目录名最好用单数。一方面是因为单数足以说明这个目录的功能,另一方面可以统一规范,避免单复混用的情况。
功能明确:一个目录所要实现的功能应该是明确的、并且在整个项目目录中具有很高的辨识度。也就是说,当需要新增一个功能时,我们能够非常清楚地知道把这个功能放在哪个目录下。
全面性:目录结构应该尽可能全面地包含研发过程中需要的功能,例如文档、脚本、源码管理、API 实现、工具、第三方包、测试、编译产物等。
可预测性:项目规模一定是从小到大的,所以一个好的目录结构应该能够在项目变大时,仍然保持之前的目录结构。
可扩展性:每个目录下存放了同类的功能,在项目变大时,这些目录应该可以存放更多同类功能。举个例子,有如下目录结构:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《Go 语言项目开发实战》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥69.9
立即订阅
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
返回
顶部