自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用這五大開(kāi)發(fā)者工具管理你的軟件開(kāi)發(fā)生命周期

譯文 精選
開(kāi)發(fā) 開(kāi)發(fā)工具
現(xiàn)代軟件開(kāi)發(fā)是快速、迭代和復(fù)雜的過(guò)程。技術(shù)團(tuán)隊(duì)至少需要這五個(gè)工具來(lái)管理所有生產(chǎn)活動(dòng)。

譯者 | 劉雨瑤

審校 | 孫淑娟 梁策

在過(guò)去的 30 年中,軟件開(kāi)發(fā)取得了很大進(jìn)展。曾經(jīng)人們?cè)谧约旱挠?jì)算機(jī)上管理軟件開(kāi)發(fā)生命周期 (SDLC),在自己的桌面編寫代碼、調(diào)試代碼、構(gòu)建代碼并發(fā)布代碼。源代碼存儲(chǔ)在文件服務(wù)器上,并在每天結(jié)束時(shí)保存一個(gè)壓縮文件來(lái)管理。如果你完全使用具有中央服務(wù)器的代碼版本控制軟件(CVS) 或版本控制系統(tǒng)(SVN),會(huì)使分支和代碼合并成為真正的挑戰(zhàn)。發(fā)布軟件意味著將“黃金”軟盤發(fā)送給制造商,制造商將軟件實(shí)際運(yùn)送到商店和目錄供應(yīng)商。

今天這個(gè)過(guò)程更容易也更復(fù)雜。大多數(shù)新軟件都是通過(guò)瀏覽器交付的。遠(yuǎn)程開(kāi)發(fā)團(tuán)隊(duì)使用復(fù)雜的中央代碼存儲(chǔ)庫(kù)管理大型代碼庫(kù)。他們通過(guò)問(wèn)題跟蹤和溝通工具協(xié)作,并使用專門為此需求而設(shè)計(jì)的工具進(jìn)行持續(xù)集成和持續(xù)部署。軟件即服務(wù)(SaaS,software as a service)交付模型允許團(tuán)隊(duì)隨時(shí)發(fā)布新功能。

這個(gè)過(guò)程需要大量的軟件工具。可能有些人會(huì)說(shuō),有張舒服的辦公椅和寬屏顯示器也能改善開(kāi)發(fā)流程,但在這里我們主要討論軟件工具。

那么現(xiàn)代軟件開(kāi)發(fā)需要哪些軟件工具呢?下文列出了5個(gè)必要工具。

集成開(kāi)發(fā)環(huán)境(IDE)

編寫代碼的難度與日俱增,開(kāi)發(fā)人員需要一個(gè)能夠跟上發(fā)展的工具。好的 IDE允許代碼編輯、語(yǔ)法高亮、代碼補(bǔ)全、源代碼控制管理、編譯和調(diào)試,此外還能提供某種形式的擴(kuò)展應(yīng)用程序編程接口(API,Application Programming Interface),讓任何人都可以增強(qiáng)編輯器的功能。

如果沒(méi)有非常特殊的需求,我建議使用Visual Studio Code(VS Code),因?yàn)樗悄壳白盍餍?、最?qiáng)大、最開(kāi)放和最高效的IDE。VS Code由微軟構(gòu)建和維護(hù)并且開(kāi)源,它幾乎可以處理任何扔給它的編程語(yǔ)言,并且有數(shù)千個(gè)有用的擴(kuò)展,因此非常受歡迎。VS Code是到目前為止的首選工具,有超過(guò) 2000 萬(wàn)開(kāi)發(fā)人員在使用它。添加人工智能自動(dòng)寫代碼插件(GitHub Copilot,GitHub 基于人工智能的編程輔助),為開(kāi)發(fā)人員使用它提供了更多動(dòng)力。

通訊工具

新冠疫情改變了開(kāi)發(fā)團(tuán)隊(duì)合作的方式,突然間,開(kāi)發(fā)團(tuán)隊(duì)人員都在家里工作。當(dāng)他們無(wú)法見(jiàn)面溝通時(shí),就需要一種新的交流方式。聊天群組(Slack)加多人手機(jī)云視頻會(huì)議軟件(Zoom)成為了必要,并延續(xù)到現(xiàn)在。

Slack因?yàn)閼?yīng)用廣泛擁有龐大的插件庫(kù)和集成庫(kù),可以讓你在到處搜索前就做到很多想不到的事情。Zoom則是各種團(tuán)隊(duì)和會(huì)議在事實(shí)上的視頻會(huì)議工具。Slack和Zoom集成在一起可以讓一切變得既簡(jiǎn)單又強(qiáng)大。我非常推薦這種協(xié)作方式,因?yàn)檫@兩種工具受眾很廣,使你更容易與整個(gè)組織的員工、客戶和供應(yīng)商進(jìn)行溝通,而不僅限于開(kāi)發(fā)團(tuán)隊(duì)。

另外我也推薦Microsoft Teams,它是將聊天和視頻會(huì)議結(jié)合在一個(gè)應(yīng)用程序。

源代碼版本控制

分布式版本控制系統(tǒng)(Mercurial) 曾經(jīng)有一段時(shí)間是這里的佼佼者,但源代碼控制工具的最后贏家顯然是Git。如果不使用Git就顯得有些落伍了。

Git 是一個(gè)分布式的版本控制系統(tǒng),但正確使用它需要一個(gè)集中的存儲(chǔ)庫(kù),而GitHub顯然是該領(lǐng)域的領(lǐng)導(dǎo)者。GitHub 是我的選擇,因?yàn)樗^(guò)常見(jiàn),且其不僅僅是一個(gè)代碼存儲(chǔ)庫(kù)。目前,GitHub 是一個(gè)面向開(kāi)源軟件項(xiàng)目領(lǐng)先的托管平臺(tái)。每家公司都應(yīng)該多少在 GitHub 上有些自我展示。

GitHub的一些附加功能包括問(wèn)題跟蹤、代碼審查以及構(gòu)建和部署過(guò)程。GitHub 甚至以其基于Visual Studio Code的Codespaces功能引領(lǐng)瀏覽器中的IDE。

源代碼控制方面次之的是GitLab,它以開(kāi)源版本提供,幾乎在所有方面都緊隨 GitHub。

功能標(biāo)志

我必須承認(rèn),一年前我甚至不知道功能標(biāo)志(feature flags)是什么?,F(xiàn)在,隨著SaaS解決方案允許通過(guò)單擊鼠標(biāo)打開(kāi)和關(guān)閉功能,它們的使用正在增長(zhǎng)。你可以通過(guò)功能標(biāo)志以任何喜歡的方式來(lái)控制功能——按公司、按客戶級(jí)別或按用戶。這使你可以做到一些事情,例如部署一個(gè)測(cè)試版或在一小部分客戶群上測(cè)試“金絲雀”部署方式,了解新功能如何在生產(chǎn)中落地。

用于功能管理的SaaS平臺(tái)LaunchDarkly是佼佼者,它可以讓你對(duì)應(yīng)用程序及其功能的部署方式進(jìn)行強(qiáng)大的控制。技術(shù)領(lǐng)先又還在繼續(xù)擴(kuò)展其功能集的公司很難不去選擇。

持續(xù)集成/持續(xù)部署(CI/CD)工具

多年來(lái)我一直在做持續(xù)集成。但是持續(xù)部署更新、更具挑戰(zhàn)性,甚至有點(diǎn)可怕。CI/CD需要構(gòu)建軟件、運(yùn)行測(cè)試,將工件放在正確的位置,配置云資源,將應(yīng)用程序部署到多個(gè)位置,以及任何數(shù)量的不同活動(dòng)。這些活動(dòng)從代碼上傳的那一刻起就盡可能快地進(jìn)入了獲取代碼的過(guò)程。

許多團(tuán)隊(duì)正試圖將從代碼上傳到部署的時(shí)間,從幾天縮短到十五分鐘。你沒(méi)有看錯(cuò),這就是可怕的部分——如此迅速地將某些東西投入生產(chǎn)意味著你需要準(zhǔn)備好快速做出反應(yīng)。從好的方面來(lái)說(shuō),如果出現(xiàn)問(wèn)題,較短的部署時(shí)間可以提供即時(shí)反饋,使開(kāi)發(fā)人員能夠?qū)⒆罱牡纳舷挛睦斡浽谛模⒃阱e(cuò)誤發(fā)生時(shí)更快速、更輕松地修復(fù)錯(cuò)誤。

正確執(zhí)行CI/CD需要強(qiáng)大的工具包。幸運(yùn)的是,有CircleCI可以做到這一切,它與大量的框架和系統(tǒng)連接以快速構(gòu)建和部署應(yīng)用程序。我喜歡CircleCI的完整功能集、速度和合規(guī)性。

此外,開(kāi)源CI/CD工具Jenkins也是一個(gè)值得推薦的工具。

IDE、溝通工具、源代碼控制、功能標(biāo)志和CI/CD是進(jìn)行現(xiàn)代軟件開(kāi)發(fā)最基本的五種工具。這些工具互相協(xié)同,以最大限度地減少編碼和將代碼投入生產(chǎn)的用時(shí)。此外,它們也都是可以基于云,讓你不必?fù)?dān)心工作之外的其他事情。無(wú)論是在基于云的IDE中進(jìn)行編碼,還是使用強(qiáng)大的CI/CD工具在幾分鐘內(nèi)進(jìn)行部署,這些工具都將為軟件開(kāi)發(fā)過(guò)程鋪平道路。

譯者介紹

劉雨瑤,51CTO社區(qū)編輯,驅(qū)動(dòng)開(kāi)發(fā)工程師。關(guān)注電容屏相關(guān)領(lǐng)域,包括效果算法以及集成電路設(shè)計(jì),最近在學(xué)習(xí)驅(qū)動(dòng)等方面的知識(shí)。

原文標(biāo)題:??5 developer tools to rule your SDLC??,作者:Nick Hodges


責(zé)任編輯:華軒 來(lái)源: 51CTO
相關(guān)推薦

2011-05-31 10:49:43

開(kāi)發(fā)工具PHPHTML

2010-06-24 16:18:13

2022-05-20 10:41:22

SDLC開(kāi)發(fā)模型

2010-07-06 15:30:12

RationalJazz

2011-05-03 09:41:42

Android開(kāi)發(fā)工具Android SDK

2009-08-12 18:39:01

軟件開(kāi)發(fā)的生命周期

2011-11-24 21:25:23

ibmdw

2009-01-14 10:14:34

代碼審查軟件開(kāi)發(fā)編程

2023-06-21 15:34:37

信息生命周期管理大數(shù)據(jù)

2015-12-24 18:26:16

Android

2009-04-30 08:40:17

2021-12-14 09:00:00

IT開(kāi)發(fā)運(yùn)營(yíng)

2010-07-06 14:31:39

RationalJazz

2013-09-10 09:35:53

移動(dòng)開(kāi)發(fā)者全能開(kāi)發(fā)者技能

2015-06-02 13:31:55

PaaS云應(yīng)用程序軟件開(kāi)發(fā)

2024-12-16 12:42:29

2011-05-30 14:07:42

2009-03-26 09:17:22

Linux調(diào)試Linux開(kāi)發(fā)

2020-04-16 10:19:29

軟件開(kāi)發(fā)DevOps框架
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)