程序員經(jīng)常會(huì)犯的五個(gè)錯(cuò)誤
今天,我們來(lái)聊一聊程序員經(jīng)常會(huì)犯的5個(gè)錯(cuò)誤:
錯(cuò)誤1:沒(méi)有文檔
所有項(xiàng)目的第一個(gè)錯(cuò)誤就是:沒(méi)有任何文檔。
沒(méi)有文檔,如何開(kāi)始呢?你如何了解項(xiàng)目結(jié)構(gòu)、軟件體系結(jié)構(gòu),以及在哪里找到你想要修改、更新的文件,文檔是項(xiàng)目成功的關(guān)鍵,無(wú)論開(kāi)源與否,你都需要確保自己記錄了如何使用項(xiàng)目、如何測(cè)試和部署項(xiàng)目。而且有一些很好的項(xiàng)目可以幫助你編寫文檔,比如docusaurus。
錯(cuò)誤2:注釋
即使你有文檔,你仍然需要理解代碼,即使你是為自己編寫代碼,你仍然可能不記得某個(gè)特定代碼段在做什么,或者它是如何使用的,當(dāng)然,你不需要為函數(shù)int addToNumbers(int v1, int v2)編寫注釋,但可能需要為函數(shù)computeQuotaForUser(int userId)添加一些注釋,比如在代碼不明顯或在多個(gè)關(guān)鍵代碼不明顯在或在多個(gè)關(guān)鍵代碼路徑上使用時(shí)進(jìn)行注釋。
錯(cuò)誤3:不可讀的代碼
你是否曾經(jīng)花了好幾個(gè)小時(shí)去閱讀一段代碼并理解它的作用(尤其是在沒(méi)有注釋的情況下),每個(gè)開(kāi)發(fā)人員都有這樣的時(shí)刻。所以,你要確保自己的代碼是可讀的,不僅要在不明顯的代碼上添加注釋,此外,還應(yīng)在整個(gè)代碼庫(kù)中采用一致的風(fēng)格。比如變量如何命名(例如,喜歡timeRemainingSeconds而不是timeremremaining),編寫可以直接在屏幕上顯示完整的簡(jiǎn)短的代碼單元(大概40行左右)。
錯(cuò)誤4:沒(méi)有測(cè)試
另一個(gè)錯(cuò)誤也是最大的錯(cuò)誤是永遠(yuǎn)不要進(jìn)行任何單元或集成測(cè)試。當(dāng)然,你手動(dòng)測(cè)試了代碼,可以確保它可以在你的機(jī)器上運(yùn)行,但是不能保證你的同事將運(yùn)行相同的測(cè)試,并且也不能保證代碼在干凈的環(huán)境中運(yùn)行(例如CI/CD管道)。
要確保代碼能順利運(yùn)行,編寫單元測(cè)試,并在CI/CD管道中的每個(gè)更改時(shí)都運(yùn)行它們。
錯(cuò)誤5:盡量不要使用強(qiáng)類型
許多語(yǔ)言(例如JavaScript或Python)都不使用強(qiáng)類型。他們通過(guò)引入相應(yīng)類型來(lái)解決這些問(wèn)題(作為額外層的一部分——就像TypeScript,作為可選模塊的一部分——就像Python)。
強(qiáng)類型會(huì)引起一些問(wèn)題,一些開(kāi)發(fā)人員仍在使用字符串和整數(shù)做相加,比如“1”+ 1等于2(它等于11)。
這類問(wèn)題通常很難找到,而要找到罪魁禍?zhǔn)拙拖翊蠛漆?。要避免此類?wèn)題,一定要慎重使用強(qiáng)類型,并始終聲明類型。