Translator|刘玉瑶评论|曾几何时,人们在自己的计算机上管理软件开发生命周期(SDLC),编写代码、调试代码、构建代码并从桌面发布代码。源代码存储在文件服务器上,并在每天结束时保存一个压缩文件以供管理。如果您将代码版本控制软件(CVS)或版本控制系统(SVN)与中央服务器一起使用,它可能会使代码的分支和合并成为真正的挑战。分发软件意味着将“黄金”软盘发送给制造商,制造商将软件实际运送到商店和目录供应商。今天,这个过程既简单又复杂。大多数新软件都是通过浏览器交付的。远程开发团队使用复杂的中央代码存储库管理大型代码库。他们通过问题跟踪和沟通工具进行协作,并使用专门为此需求设计的工具进行持续集成和持续部署。软件即服务(SaaS,softwareasaservice)交付模型允许团队随时发布新功能。这个过程需要一些软件工具。有些人可能会争辩说,拥有舒适的办公椅和宽屏显示器也可以改善开发过程,但这里我们主要讨论软件工具。那么现代软件开发需要哪些软件工具呢?以下是5个基本工具的列表。在集成开发环境(IDE)中编写代码变得越来越困难,开发人员需要一种能够跟上的工具。一个好的IDE允许代码编辑、语法高亮、代码补全、源代码控制管理、编译和调试,还提供某种形式的扩展应用程序编程接口(API,ApplicationProgrammingInterface),允许任何人增强编辑器的功能。如果没有非常特殊的需求,我推荐使用VisualStudioCode(VSCode),因为它是目前最流行、功能强大、开放高效的IDE。VSCode由Microsoft构建和维护,并且是开源的,它可以处理几乎所有的编程语言,并且有数以千计的有用扩展,因此非常受欢迎。VSCode是迄今为止超过2000万开发人员使用的首选工具。加入人工智能自动代码编写插件(GitHubCopilot,GitHub的基于人工智能的编程辅助),为开发者提供了更多的使用动力。通讯工具COVID-19改变了开发团队的合作方式,突然间,开发团队开始在家工作。当他们无法见面和交流时,就需要一种新的交流方式。聊天群(Slack)加多人手机云视频会议软件(Zoom)成为必要并延续至今。Slack因其广泛的应用而拥有庞大的插件和集成库,让你在四处搜索之前可以做很多意想不到的事情。Zoom是事实上的视频会议工具,适用于各种团队和会议。Slack和Zoom集成使一切变得简单而强大。我强烈推荐这种协作方法,因为这两个工具拥有广泛的受众,并且可以让您更轻松地与整个组织的员工、客户和供应商进行沟通,而不仅仅是开发团队。我还推荐MicrosoftTeams,它将聊天和视频会议结合在一个应用程序中。源代码版本控制分布式版本控制系统(Mercurial)曾经是这方面的冠军,但在源代码控制工具中明显的赢家是Git。不使用Git就有点过时了。Git是一个分布式版本控制系统,但正确使用它需要一个集中式存储库,而GitHub无疑是这个领域的领导者。GitHub是我的选择,因为它很常见,而且它不仅仅是一个代码存储库。目前,GitHub是领先的开源软件项目托管平台。每个公司都应该在GitHub上有一些存在。GitHub的一些附加功能包括问题跟踪、代码审查以及构建和部署过程。GitHub甚至凭借其基于VisualStudioCode的代码空间功能在浏览器IDE领域处于领先地位。接下来是源代码管理方面的GitLab,它作为开源版本提供,几乎在所有方面都遵循GitHub。功能标志我必须承认,一年前我什至不知道什么是功能标志。现在,它们的使用正在增长,因为SaaS解决方案允许通过单击鼠标来打开和关闭功能。您可以通过功能标志以任何您喜欢的方式控制功能-按公司、按客户级别或按用户。这使您可以做一些事情,例如在一小组客户上部署测试版或测试“金丝雀”部署,以了解新功能如何投入生产。LaunchDarkly是一个用于功能管理的SaaS平台,非常出色,可让您强大地控制应用程序及其功能的部署方式。很难不选择技术先进并不断扩展其功能集的公司。持续集成/持续部署(CI/CD)工具我从事持续集成多年。但不断部署更新、更具挑战性,甚至有点吓人。CI/CD涉及构建软件、运行测试、将工件放在正确的位置、配置云资源、将应用程序部署到多个位置,以及任意数量的不同活动。这些活动从代码上传的那一刻起就进入了尽快获取代码的过程。许多团队正试图将代码上传到部署的时间从几天缩短到十五分钟。你没看错,这就是可怕的部分——如此迅速地将某些东西投入生产意味着你需要做好快速反应的准备。从好的方面来说,如果出现问题,较短的部署时间可以提供即时反馈,使开发人员能够牢记最近更改的上下文,并在错误确实发生时更快、更轻松地修复错误。正确地执行CI/CD需要一个强大的工具包。幸运的是,CircleCI可以完成这一切,它与大量的框架和系统接口以快速构建和部署应用程序。我喜欢CircleCI的完整功能集、速度和合规性。另外,开源的CI/CD工具Jenkins也是推荐的工具。IDE、通信工具、源代码控制、功能标志和CI/CD是现代软件开发的五个最基本的工具。这些工具协同工作,最大限度地减少编码和将代码投入生产所花费的时间。另外,它们都是基于云的,因此您不必担心工作以外的任何事情。无论是在基于云的IDE中编码,还是使用强大的CI/CD工具在几分钟内部署,为软件开发过程铺平了道路。译者介绍刘玉尧,社区编辑,驱动开发工程师。关注电容屏相关领域,包括效果算法和集成电路设计,最近学习驱动等知识。原标题:5个开发者工具来统治你的SDLC,作者:NickHodges
