您的位置:首頁 > 業(yè)內(nèi)資訊 > 讓你的軟件永生,就靠這7個(gè)規(guī)則

讓你的軟件永生,就靠這7個(gè)規(guī)則

來源:碼農(nóng)網(wǎng) | 時(shí)間:2015-06-10 15:34:34 | 閱讀:189 |  標(biāo)簽: 軟件 編程   | 分享到:

生命會(huì)逝去,但一個(gè)好的軟件不會(huì)。

要想寫出一個(gè)“永垂不朽”的軟件,關(guān)鍵是你能否遵循以下規(guī)則:

1、模塊化

規(guī)則1:模塊化。在一個(gè)模塊中找bug總比在整個(gè)代碼庫里找簡(jiǎn)單得多。

人腦是極其復(fù)雜的生物,可以設(shè)計(jì)出能處理復(fù)雜問題的CPU,但自我本身卻處理不來這些問題。想要證明嗎?那么告訴我,在不使用任何計(jì)算器,純心算的條件下,你能算出13*35是多少么。我敢打賭,你不能。至少在短時(shí)間內(nèi)你辦不到。

但是,我們擅長將復(fù)雜的問題分解為更容易解決的問題。

13*10是多少?130。

13*5呢?那就是130/2=65。

130*3?390。

390+65是多少?455。答案就是它了!

這就是如何分解問題的一個(gè)事例:將一個(gè)大型的復(fù)雜問題分解為一個(gè)個(gè)獨(dú)立的小型的簡(jiǎn)單問題,從而快速得出正確的答案。

我們也可以按照同樣的邏輯對(duì)待軟件。模塊化的代碼不僅易于閱讀,而且更容易調(diào)試。在大多數(shù)情況下,堆棧跟蹤只會(huì)導(dǎo)致非常小的代碼子集,而不是一下子出來個(gè)1000行代碼的文件。甚至在更新某個(gè)特定模塊時(shí),也不需要搗騰整個(gè)系統(tǒng)——只要正在更新的那部分就可以了。

2、測(cè)試

規(guī)則2:任何不經(jīng)過測(cè)試的代碼都是耍流氓。

很多人認(rèn)為測(cè)試和寫軟件是兩碼事,即使是在學(xué)校中,教師會(huì)教你如何使用C ++模板,卻不會(huì)告訴你如何測(cè)試。在線教程能教你如何在Brainfuck制作web服務(wù)器,卻不會(huì)說明如何測(cè)試。而這就是問題的所在。

有人說,我們應(yīng)該在編寫實(shí)際的應(yīng)用程序邏輯之前就先寫好測(cè)試。

但是在我看來,什么時(shí)候?qū)憸y(cè)試其實(shí)并沒有關(guān)系,只要寫了就ok。不要試圖一步登天,不要想著剛開始就寫得出完美的測(cè)試:從簡(jiǎn)單的起步。用蠻力方式測(cè)試(如print(add(1,1)=2)),然后再測(cè)試對(duì)應(yīng)語言的框架。

測(cè)試有助于我們了解軟件的復(fù)雜性。你可以學(xué)到如何將軟件模塊化為可以獨(dú)立的測(cè)試件。

3、持續(xù)集成

規(guī)則3:使用持續(xù)集成。只要出現(xiàn)問題代碼,就會(huì)通知你。

你寫的測(cè)試,你必須確?梢詰(yīng)用于多種環(huán)境(例如Python的多個(gè)版本)。并且如果需要作出任何改動(dòng),也得測(cè)試。

小編推薦閱讀

好特網(wǎng)發(fā)布此文僅為傳遞信息,不代表好特網(wǎng)認(rèn)同期限觀點(diǎn)或證實(shí)其描述。

相關(guān)視頻攻略

更多

掃二維碼進(jìn)入好特網(wǎng)手機(jī)版本!

掃二維碼進(jìn)入好特網(wǎng)微信公眾號(hào)!

本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請(qǐng)發(fā)郵件[email protected]

湘ICP備2022002427號(hào)-10 湘公網(wǎng)安備:43070202000427號(hào)© 2013~2025 haote.com 好特網(wǎng)