技術(shù)討論專題之六:好程序如何經(jīng)得起千回改?
程序匠人 發(fā)表于 2004-7-28 09:53 侃單片機(jī)
技術(shù)討論專題之六:好程序如何經(jīng)得起千回改?
在產(chǎn)品推向市場后,根據(jù)反饋信息對產(chǎn)品進(jìn)行改進(jìn)調(diào)整、升級換代是必不可免的,這也涉及到程序部分的改動(dòng)。但是,好程序也怕千回改,大凡寫程序的人都會(huì)有這種體驗(yàn),就是寧可寫程序,不愿改程序,原因如下:
1.寫程序時(shí),所有資源(IO口、RAM、ROM、堆棧、計(jì)數(shù)器、中斷……等等)都是可用的,可以無拘束地使用;而改程序時(shí),只能利用原先用剩下的資源。
2.寫程序時(shí),面向全局規(guī)劃,可以合理安排各個(gè)功能的實(shí)現(xiàn)方法;而改程序時(shí),是針對局部,為了避免影響其它部分功能,往往約束較大。
3.大多數(shù)人沒有良好的編程習(xí)慣,事先不規(guī)劃,事后不整理,腳踩西瓜皮,寫到哪里算哪里。待到需要改動(dòng)時(shí),由于當(dāng)時(shí)一些思路已經(jīng)忘記了,沒有留下足夠的注釋和說明文檔,就摸不著邊了。
4.由于沒有一個(gè)統(tǒng)一的編程規(guī)范,如果原先的程序不是自己寫的,那就更糟糕了。光看懂前任的程序就要耗費(fèi)許多時(shí)間;而如果想較大面積地修改它,往往還不如自己重新寫一個(gè)來得快些。
5.每次修改程序都是在原來程序的基礎(chǔ)上打補(bǔ)丁,往往會(huì)為下一次的修改增加難度。最后,量變引起質(zhì)變,活活把個(gè)好好的程序改爛掉了。
6.……
最近,壇子里,對編程方法思路等方面的討論較多(而雕蟲小技則遭受拋棄)。匠人也來湊熱鬧,請大伙來討論:好程序如何才能經(jīng)得起千回改?
技術(shù)討論專題之六:好程序如何經(jīng)得起千回改?
在產(chǎn)品推向市場后,根據(jù)反饋信息對產(chǎn)品進(jìn)行改進(jìn)調(diào)整、升級換代是必不可免的,這也涉及到程序部分的改動(dòng)。但是,好程序也怕千回改,大凡寫程序的人都會(huì)有這種體驗(yàn),就是寧可寫程序,不愿改程序,原因如下:
1.寫程序時(shí),所有資源(IO口、RAM、ROM、堆棧、計(jì)數(shù)器、中斷……等等)都是可用的,可以無拘束地使用;而改程序時(shí),只能利用原先用剩下的資源。
2.寫程序時(shí),面向全局規(guī)劃,可以合理安排各個(gè)功能的實(shí)現(xiàn)方法;而改程序時(shí),是針對局部,為了避免影響其它部分功能,往往約束較大。
3.大多數(shù)人沒有良好的編程習(xí)慣,事先不規(guī)劃,事后不整理,腳踩西瓜皮,寫到哪里算哪里。待到需要改動(dòng)時(shí),由于當(dāng)時(shí)一些思路已經(jīng)忘記了,沒有留下足夠的注釋和說明文檔,就摸不著邊了。
4.由于沒有一個(gè)統(tǒng)一的編程規(guī)范,如果原先的程序不是自己寫的,那就更糟糕了。光看懂前任的程序就要耗費(fèi)許多時(shí)間;而如果想較大面積地修改它,往往還不如自己重新寫一個(gè)來得快些。
5.每次修改程序都是在原來程序的基礎(chǔ)上打補(bǔ)丁,往往會(huì)為下一次的修改增加難度。最后,量變引起質(zhì)變,活活把個(gè)好好的程序改爛掉了。
6.……
最近,壇子里,對編程方法思路等方面的討論較多(而雕蟲小技則遭受拋棄)。匠人也來湊熱鬧,請大伙來討論:好程序如何才能經(jīng)得起千回改?





