對(duì)于嵌入式軟件開(kāi)發(fā)人員和團(tuán)隊(duì)來(lái)說(shuō),有許多好習(xí)慣可以幫助你開(kāi)發(fā)更快、更可靠的固件。這里有一些關(guān)于你可能要考慮的習(xí)慣。
習(xí)慣1——持續(xù)教育
嵌入式軟件開(kāi)發(fā)人員在一個(gè)廣闊且發(fā)展迅速的領(lǐng)域工作。當(dāng)然,在更大的軟件行業(yè)中,我們經(jīng)常抵制變化并滯后變化。然而,這并不能改變硬件和軟件技術(shù)不斷變化的事實(shí)。嵌入式開(kāi)發(fā)人員很容易在這個(gè)行業(yè)找到一份工作,然后在接下來(lái)的四十年里遵循同樣的流程,使用同樣的技術(shù)。但是,如果你這樣做了,你會(huì)發(fā)現(xiàn)成功和跟上競(jìng)爭(zhēng)的步伐會(huì)更加困難。事實(shí)上,你可能會(huì)落后太多,以至于幾乎不可能找到工作!
要養(yǎng)成的一個(gè)關(guān)鍵習(xí)慣是持續(xù)的教育。作為工程師、開(kāi)發(fā)人員和經(jīng)理,知識(shí)是我們最大的財(cái)富。開(kāi)發(fā)者和公司經(jīng)常被動(dòng)地看待教育。出現(xiàn)了問(wèn)題,解決方案是培訓(xùn)。持續(xù)教育是一種積極主動(dòng)的方法,在任何問(wèn)題出現(xiàn)之前讓團(tuán)隊(duì)保持最新?tīng)顟B(tài),并有望防止問(wèn)題出現(xiàn)!
習(xí)慣2——代碼審查
防止軟件中出現(xiàn)錯(cuò)誤的最好方法之一是執(zhí)行代碼審查。鑒于開(kāi)發(fā)周期如此繁忙,團(tuán)隊(duì)跳過(guò)代碼評(píng)審并不罕見(jiàn)。然而,利用今天的技術(shù)和工具,擁有一個(gè)定義良好的代碼審查過(guò)程來(lái)幫助你提高固件是非常可靠的事情。
你的代碼審查習(xí)慣也不必過(guò)于復(fù)雜。例如,包含代碼審查的最佳位置之一是在合并請(qǐng)求期間。你已經(jīng)準(zhǔn)備好代碼,可以在合并請(qǐng)求時(shí)與你的開(kāi)發(fā)分支集成。你可以設(shè)置你的工具,以便合并請(qǐng)求需要批準(zhǔn)。你的審批流程應(yīng)該包括哪些內(nèi)容?代碼審查!
每當(dāng)執(zhí)行代碼審查時(shí),將它限制在一次少于500行代碼是一個(gè)好主意。你審查的代碼越多,會(huì)話時(shí)間越長(zhǎng),你發(fā)現(xiàn)的錯(cuò)誤就越少。這意味著你需要養(yǎng)成經(jīng)常承諾和合并的習(xí)慣。同樣,這些是當(dāng)今的行業(yè)規(guī)范,但也是需要養(yǎng)成的好習(xí)慣。
習(xí)慣3——自動(dòng)化開(kāi)發(fā)
為了更快、更可靠地開(kāi)發(fā)固件,你必須盡可能地自動(dòng)化開(kāi)發(fā)。手動(dòng)流程緩慢且容易出錯(cuò),你曾經(jīng)有過(guò)需要200個(gè)測(cè)試用例的手工測(cè)試過(guò)程嗎?一旦你完成了,代碼的改變需要你重新運(yùn)行它們,這是一個(gè)噩夢(mèng),導(dǎo)致抽查系統(tǒng)工作正常,但錯(cuò)誤卻偷偷忽略了。自動(dòng)化是關(guān)鍵。
你可能想知道自動(dòng)化開(kāi)發(fā)到底是怎樣一種習(xí)慣。這看起來(lái)更像是一項(xiàng)任務(wù)。你需要養(yǎng)成的習(xí)慣是問(wèn)你自己你正在做的事情是否能夠并且應(yīng)該自動(dòng)化。例如,如果你發(fā)現(xiàn)自己手動(dòng)運(yùn)行單元測(cè)試、系統(tǒng)測(cè)試、分析軟件、開(kāi)發(fā)文檔等等,你應(yīng)該問(wèn)自己什么可以自動(dòng)化。你如何改進(jìn)這個(gè)過(guò)程,使它變得更好?你如何更高效地工作?
一種可以幫助你養(yǎng)成這種習(xí)慣的現(xiàn)代技術(shù)是采用持續(xù)集成和部署(CI/CD)。CI/CD鼓勵(lì)你盡可能自動(dòng)化構(gòu)建和部署過(guò)程。你會(huì)發(fā)現(xiàn)對(duì)代碼風(fēng)格一致性、靜態(tài)分析、度量、測(cè)試等等的手動(dòng)檢查都是自動(dòng)化的。自動(dòng)化減輕了開(kāi)發(fā)人員的工作量,幫助他們專(zhuān)注于重要的事情,而不是瑣碎的重復(fù)任務(wù)。
很容易讓你自己和你的團(tuán)隊(duì)將來(lái)會(huì)養(yǎng)成自動(dòng)化的習(xí)慣。即將到來(lái)的截止日期太重要了,所以你現(xiàn)在要做這樣的事情,然后,你會(huì)正確地去做。從一開(kāi)始就養(yǎng)成用正確的方式做事的習(xí)慣。自動(dòng)化你的開(kāi)發(fā),你可以比你想象的更快更可靠地開(kāi)發(fā)固件。
結(jié)論
我們剛剛探索了一些潛在的習(xí)慣,以幫助你更快、更可靠地開(kāi)發(fā)固件。你需要建立的確切習(xí)慣,也許還有你需要去除的習(xí)慣,都是高度個(gè)性化的。微小的調(diào)整和過(guò)程修正可以幫助確保你不會(huì)重復(fù)過(guò)去的錯(cuò)誤,并確保來(lái)年取得成功。
為了開(kāi)發(fā)更快、更可靠的固件,你還必須改變或增加哪些習(xí)慣?