精心開(kāi)發(fā)的固件可以很漂亮。遺憾的是,我看過(guò)的大多數(shù)代碼不僅不漂亮,而且談不上好看。整潔、工整和方便閱讀的固件不僅好看,更重要的是,通常也更容易理解。易理解能力的提升可以使得代碼更容易調(diào)試和維護(hù)。下面是如何確保你的固件更加好看更加容易閱讀的一些想法。 想法1—遵循格式指南 遵循某種格式指南也許是獲得整潔、可閱讀代碼的最明顯途徑之一。即使使用格式指南是顯而易見(jiàn)要做的事,但我看到許多開(kāi)發(fā)人員要么沒(méi)有格式指南,要么完全忽視他們已經(jīng)有的格式指南。一種格式指南具有規(guī)定每位開(kāi)發(fā)人員應(yīng)該如何組織代碼美學(xué)的優(yōu)勢(shì)。遵循規(guī)律正確使用格式指南的結(jié)果是看起來(lái)一致的統(tǒng)一代碼庫(kù)。 網(wǎng)絡(luò)上有許多很好的格式指南例子。大多數(shù)例子采用word格式,允許開(kāi)發(fā)人員方便地根據(jù)他們自己的格式和目的進(jìn)行修改。開(kāi)發(fā)人員需要確保他們的格式指南經(jīng)過(guò)同行評(píng)審或使用自動(dòng)化工具得到強(qiáng)制實(shí)施。 想法2—設(shè)置統(tǒng)一的制表符間距 如果將10位開(kāi)發(fā)人員召集在一起、問(wèn)他們喜愛(ài)的文本編輯器是什么,那么最可能得到10種不同的答案。答案覆蓋范圍包括Eclipse、SlickEdit、 Sublime Text、 NotePad++、VIM、Nano等等。每位開(kāi)發(fā)人員都有自己的喜好,而且正如人們預(yù)期的那樣,這些編輯器處理空格和制表符的方式都不一樣,當(dāng)把在不同編輯器中開(kāi)發(fā)的代碼段匯聚到一起時(shí)代碼的間格和對(duì)齊效果會(huì)完全被破壞掉。沒(méi)有什么事情比打開(kāi)一個(gè)文件發(fā)現(xiàn)曾經(jīng)齊準(zhǔn)的配置表變得歪歪扭扭更讓人惱火的了。 一般編輯器的制表符設(shè)置為8個(gè)字符,但沒(méi)人能夠保證這個(gè)規(guī)定永遠(yuǎn)不變。比如我用過(guò)的一些編輯器默認(rèn)將制表符間距設(shè)為4個(gè)字符。一個(gè)好的格式指南應(yīng)該告訴開(kāi)發(fā)人員在他們的IDE中使用哪種設(shè)置,這樣一旦在一種編輯器中編寫(xiě)了代碼,這些代碼就能夠很容易在另一種編輯器中打開(kāi)而不丟失空格和代碼對(duì)齊效果。 想法3—使用制表符到空格的轉(zhuǎn)換 老實(shí)說(shuō),不管怎樣開(kāi)發(fā)人員都不應(yīng)該使用制表符對(duì)齊他們的代碼。開(kāi)發(fā)人員應(yīng)該使用空格鍵。但誰(shuí)會(huì)愿意在能按一次鍵的情況下偏去按3次、4次甚至更多次的空格鍵呢? 幸運(yùn)的是,許多文本編輯器都有一個(gè)隱藏的功能,即把文件中的任何制表符轉(zhuǎn)換為等效的空格!制表符到空格轉(zhuǎn)換功能可以幫助開(kāi)發(fā)人員更快的編寫(xiě)出代碼,然后在提交代碼前轉(zhuǎn)換制表符,釋放源自編輯器設(shè)置的對(duì)齊功能。當(dāng)然,這里的技巧首先是要確保配置了正確的制表符參數(shù),然后嚴(yán)格遵守規(guī)定運(yùn)行轉(zhuǎn)換器。 想法4—使用代碼美化器 即使是最守紀(jì)律的開(kāi)發(fā)人員遵循了格式指南,設(shè)置了制表符間隔,仍可能得到難看的代碼。原因是什么呢?開(kāi)源代碼。許多開(kāi)發(fā)人員自愿或被迫使用開(kāi)源軟件,這些開(kāi)源軟件通常看起來(lái)像老鼠窩或一盤(pán)面條一樣雜亂。你見(jiàn)過(guò)傳感器或芯片制造商提供的例子代碼嗎?我只能說(shuō)他們心中根本就沒(méi)有美麗這個(gè)字眼。 好在開(kāi)發(fā)人員可以借助神一樣的代碼美化器。代碼美化器是一種簡(jiǎn)單的工具,它會(huì)掃描整個(gè)文本文件,然后根據(jù)輸入格式化參數(shù)設(shè)置對(duì)文件進(jìn)行格式化處理。那些沒(méi)有對(duì)齊、很難閱讀的代碼可以瞬間轉(zhuǎn)換成工整可閱讀的代碼。用谷歌搜索代碼美化器可以找到大量免費(fèi)的在線代碼美化器。市場(chǎng)上也有價(jià)格不到100美元的大量商用代碼美化器。 不過(guò)代碼美化器真的不應(yīng)該用來(lái)處理開(kāi)發(fā)人員自己編寫(xiě)的代碼。開(kāi)發(fā)人員應(yīng)該遵循他們自己的格式指南,以規(guī)定好的方式開(kāi)發(fā)軟件。代碼美化器工具只可用來(lái)處理不滿足格式指南的供應(yīng)商代碼和開(kāi)源代碼。 本文小結(jié) 干凈、齊整和容易閱讀的固件通常更加容易維護(hù)和理解。由于代碼容易被理解,開(kāi)發(fā)人員可以節(jié)省大量開(kāi)發(fā)時(shí)間,也許最重要的是,還可以減少偶然在軟件中植入缺陷的可能性。創(chuàng)建美麗的代碼所付出的時(shí)間和努力是值得的。 在如何確保固件好看又好用方面你還有其它想法和技巧跟我們分享嗎? |