第 5 章 网络开发人员环境 网络开发人员环境
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
作为一名网络工程师,您可能知道拥有一个优化的工作环境有多么重要。在物理意义上,这可能包括拥有合适的键盘,有时使用多个显示器,甚至是站立式办公桌,以便在长时间的故障排除过程中为您提供伸展空间。您可以在手边放一个书架,这样您就可以随时查阅平台或协议参考资料。这也延伸到了数字世界:你可能会有网上参考资料的书签,或者网络控制器的用户界面。也许你有自己喜欢的终端仿真工具,通过脚本和快捷方式快速访问所有网络设备的 CLI。
同样,软件开发人员也经常依靠一系列工具来保持工作效率,同时促进代码的开发和最终部署。其中许多工具在网络自动化环境中同样有用,我们将在本章讨论其中的几种。
在开始之前,我们有必要谈谈投入时间建立一个合适的开发环境所能带来的一些好处:
- 功能验证
-
构建开发环境之所以重要,其中一个主要原因是我们要知道自己编写的代码是否真的能运行。专业开发人员不会简单地在记事本中编写代码,然后希望它能正常工作。他们使用各种工具进行开发,这些工具不仅能在他们编写代码时提供反馈,还能让他们运行代码,从而看到代码按照他们期望的方式运行。
- 一致性
-
当开发人员环境更加正规化并在团队中的开发人员之间共享时,团队新成员的入职就会变得更加容易。虽然可以留出定制的空间,但让所有团队成员使用一套通用的工具,可以减少新成员上手时的摩擦。
- 可测试性
-
正规化的开发人员环境也更有利于自动化测试。例如,如果测试套件可以通过简单的
make test命令来执行,那么每个开发人员都能轻松验证自己的代码是否能在本地运行,更重要的是,您的 CI 系统也能做到这一点。我们将在第 13 章详细介绍这一点。
本章并不是要说明 "正确 "的环境,因为每个人都有自己的工作方式。相反,我们希望让你了解富有成效的开发人员环境可能具备的一些关键属性,并深入探讨有助于实现这些属性的一些流行示例。由此,您可以决定哪些工具和技术最适合您或您的团队。
为此,我们将在本章介绍几个主题:
-
文本编辑器
-
开发工具
-
仿真/模拟工具
文本编辑器
无论你是使用 Python 或 Go(我们将在第 6章和第 7 章中介绍)等全面的编程语言,还是使用 Ansible 或 Terraform(我们将在第 12 章中介绍)等更有主见的工具来开发自动化解决方案,最后,你都必须进行一些键入工作。即使是最有主见的自动化工具,通常也要求以某种文本格式(如 YAML,我们将在第 8 章讨论)定义复杂的工作流,而 YAML 有自己的规则可循。
从技术上讲,操作系统自带的记事本类型的应用程序可以让你在文本文件中读写基本代码,但你很快就会发现,对于任何实际的网络自动化用途来说,它都是远远不够的。要理解这一点,首先有必要介绍一下在使用文本编辑器构建网络自动化解决方案时肯定会遇到的一些基本要求。
没有一个文本编辑器是完美的,每个人都有自己独特的工作流程和偏好。不过,任何有价值的文本编辑器都应支持一系列核心要求,我们将在接下来的章节中讨论这些要求和更多内容。
常用的文本编辑器包括以下几种:
- Visual Studio 代码
-
俗称VS Code,这是一款免费的轻量级图形编辑器,得到了微软的大力支持和积极开发。它拥有一个庞大的插件生态系统。由于其易用性和通过插件提供的支持,VS Code 已成为广受欢迎的首选。
- Vim
-
这款轻量级、可完全自定义的文本编辑器拥有一个极其庞大的生态系统(已经存在了一段时间)。实际上,它是文本编辑器的黄金标准(你可能会注意到,其他文本编辑器有时会宣传支持 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access