軟件工作中的加減法“軟件加減法”
做軟件時(shí),有時(shí)會(huì)遇到很難解決的問題,仔細(xì)分析過后,覺得無法下手,超苦惱。
此時(shí),不妨實(shí)驗(yàn)一下“軟件加減法”,往往可以出奇制勝。
具體做法如下:
首先使用“減法算法”,“減法算法”不合適時(shí),使用“加法算法”。以下具體描述“減法算法”和“加法算法”。
“減法算法”:
1、把懷疑有問題的模塊去掉,不參與運(yùn)行測試,看問題是否仍然會(huì)出現(xiàn);
2、如果問題不出現(xiàn)了,則斷定問題與該模塊相關(guān);
3、進(jìn)一步在該模塊內(nèi)使用“軟件加減法”或者其他方法,逐漸定位問題的具體位置;具體做法是:把該模塊加入到系統(tǒng)中,把該模塊內(nèi)的部分子模塊屏蔽掉,運(yùn)行測試,看問題是否仍然會(huì)出現(xiàn);
4、重復(fù)使用3,定位問題;
5、如果第1步的結(jié)果是,問題仍然出現(xiàn),可以采取2種方法:一種是:進(jìn)一步做減法,另一種是加法后減法,即把原來屏蔽掉的模塊加上,然后,屏蔽其他模塊測試;
6、減法算法對軟件人員的能力要求比較高,優(yōu)點(diǎn)是,人員能力交好、對項(xiàng)目和代碼熟練程度較高時(shí),解決問題速度快。
7、減法算法不行時(shí),可以考慮采用加法算法。
“加法算法”:
1、新建一個(gè)項(xiàng)目;
2、把原來有問題的項(xiàng)目的模塊,添加到新項(xiàng)目中一個(gè);
3、測試;
4、測試通過后,添加下一個(gè)模塊;
5、測試不通過,斷定問題與該模塊相關(guān);對該模塊,采用“減法算法”或者其他方法進(jìn)一步定位問題位置;
6、“加法算法”,雖然速度稍微慢點(diǎn),但使用簡單方便,容易定位問題;相比其他方法,也許是最快的了,7、該算法最大的優(yōu)點(diǎn)是,算法時(shí)間復(fù)雜度穩(wěn)定,即解決問題使用的時(shí)間不會(huì)過長。
實(shí)際工作中,使用“軟件加減法”時(shí),往往是“加法算法”和“減法算法”混合使用,同時(shí),最好甚至是必須結(jié)合其他的軟件方法,才可以達(dá)到更好的效果。
希望大家對該問題,多提寶貴意見和建議。