您有沒有注意到,使用終端的嵌入式開發(fā)人員和使用集成開發(fā)環(huán)境(IDE)的開發(fā)人員之間正在進行一場無聲的戰(zhàn)爭。當IDE成為主流時,它們簡化和抽象了開發(fā)過程,使開發(fā)嵌入式軟件變得更容易、更快。本博客將探討使用終端和IDE的好處,并試圖澄清事實。
開發(fā)者為什么要使用終端?
如果你想深入了解比特和字節(jié),了解幕后發(fā)生了什么,終端是實現(xiàn)這一點的地方。要使用終端,您需要了解工具的命令,以及如何讓它們執(zhí)行您需要的操作。例如,如果使用GDB調(diào)試嵌入式應(yīng)用程序,則需要知道list
了解底層細節(jié)看起來很痛苦,但這有助于建立專業(yè)知識。了解細節(jié)有助于開發(fā)人員理解IDE工具在做什么。畢竟,IDE是抽象出用于實現(xiàn)某個目的的命令。當開發(fā)人員在命令級別使用工具時,他們就學(xué)會了這些工具。
使用終端的另一個重要原因是,您可以編寫腳本或創(chuàng)建make文件來完成一系列在IDE中難以完成的活動。此外,嵌入式開發(fā)人員開始利用現(xiàn)代軟件工具,如單元測試工具、Docker和DevOps管道。但是,同樣,這些功能最好從終端命令行開發(fā)和管理。
為什么開發(fā)人員應(yīng)該使用IDE?
IDE為開發(fā)人員提供了一個可以執(zhí)行各種活動的地方。例如,如果您查看EclipseIDE,開發(fā)人員可以執(zhí)行如下活動:
l將代碼簽出并提交到存儲庫中
l編寫/編輯代碼
l收集
l排除故障
l應(yīng)用程序配置管理
l目標記憶測驗
l等等。
開發(fā)人員可以從一個應(yīng)用程序中執(zhí)行他們開發(fā)和測試軟件所需的幾乎任何活動。這太棒了。
IDE對于沒有經(jīng)驗的開發(fā)人員來說是非常好的。復(fù)雜的命令和功能通常通過IDE的圖形用戶界面(GUI)進行抽象。這意味著沒有經(jīng)驗的開發(fā)人員可以更快更有效率,因為他們不需要知道或理解底層細節(jié)。開發(fā)人員單擊debug按鈕,然后神奇地在目標上編譯、加載和運行應(yīng)用程序。
應(yīng)該使用終端還是IDE?
優(yōu)秀的嵌入式開發(fā)人員和團隊知道,在當今的開發(fā)環(huán)境中,您需要同時使用這兩者!ide簡化了調(diào)試過程,并經(jīng)常提供強大的文本編輯功能。嘗試使用GDB從終端調(diào)試是可能的。但是使用一個IDE來抽象出用于設(shè)置斷點和導(dǎo)航代碼的低級命令要容易得多。IDE可以極大地簡化從終端進行的繁瑣活動。
終端使用起來也很關(guān)鍵。使用終端可以管理Docker映像、構(gòu)建代碼、管理我的Gitrepo、運行單元測試以及執(zhí)行各種其他活動。當然,有些活動可以在IDE中完成,但是至少偶爾使用終端可以幫助了解底層細節(jié),并防止變得過于依賴IDE。
結(jié)論
當決定使用終端還是IDE時,最好的解決方案是平衡兩者。ide為嵌入式開發(fā)人員提供了強大的功能和工具,這些功能和工具在終端中使用起來既慢又笨拙。終端有助于對通常由ide抽象的工具和開發(fā)環(huán)境提供細粒度的控制。這不是用一個或另一個的問題,這是一個如何利用每一個來最好地實現(xiàn)你的目標的問題。