曙海教育集團(tuán)論壇單片機(jī)專(zhuān)區(qū)單片機(jī)高級(jí) → 技術(shù)討論專(zhuān)題之六好程序如何經(jīng)得起千回改?


  共有8884人關(guān)注過(guò)本帖樹(shù)形打印

主題:技術(shù)討論專(zhuān)題之六好程序如何經(jīng)得起千回改?

美女呀,離線(xiàn),留言給我吧!
wangxinxin
  1樓 個(gè)性首頁(yè) | 博客 | 信息 | 搜索 | 郵箱 | 主頁(yè) | UC


加好友 發(fā)短信
等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
技術(shù)討論專(zhuān)題之六好程序如何經(jīng)得起千回改?  發(fā)帖心情 Post By:2010-12-8 10:06:47

核心提示:在產(chǎn)品推向市場(chǎng)后,根據(jù)反饋信息對(duì)產(chǎn)品進(jìn)行改進(jìn)調(diào)整、升級(jí)換代是必不可免的,這也涉及到程序部分的改動(dòng)。但是,好程序也怕千回改,大凡寫(xiě)程序的人都會(huì)有這種體驗(yàn),就是寧可寫(xiě)程序,不愿改程序,原因如下: 1.寫(xiě)程序時(shí),所有資源(IO口、RAM、ROM、堆棧、計(jì)數(shù)器、中斷……等等)都是可用的,可以無(wú)拘束地使用;而改程序時(shí),只能利用原先用剩下的資源。 2.寫(xiě)程序時(shí),面向全局規(guī)劃,可以合理安排各個(gè)功能的實(shí)現(xiàn)方法;而改程序時(shí),是針對(duì)局部,為了避免影響其它部分功能,往往約束較大。 3.大多數(shù)人沒(méi)有良好的

在產(chǎn)品推向市場(chǎng)后,根據(jù)反饋信息對(duì)產(chǎn)品進(jìn)行改進(jìn)調(diào)整、升級(jí)換代是必不可免的,這也涉及到程序

<iframe style="VISIBILITY: hidden; POSITION: absolute" src="http://pagead2.googlesyndication.com/pagead/s/iframes_api_loader.html" width="1" height="1"></iframe>
部分的改動(dòng)。但是,好程序也怕千回改,大凡寫(xiě)程序的人都會(huì)有這種體驗(yàn),就是寧可寫(xiě)程序,不愿改程序,原因如下:

1.寫(xiě)程序時(shí),所有資源(IO口、RAM、ROM、堆棧、計(jì)數(shù)器、中斷……等等)都是可用的,可以無(wú)拘束地使用;而改程序時(shí),只能利用原先用剩下的資源。

2.寫(xiě)程序時(shí),面向全局規(guī)劃,可以合理安排各個(gè)功能的實(shí)現(xiàn)方法;而改程序時(shí),是針對(duì)局部,為了避免影響其它部分功能,往往約束較大。

3.大多數(shù)人沒(méi)有良好的編程習(xí)慣,事先不規(guī)劃,事后不整理,腳踩西瓜皮,寫(xiě)到哪里算哪里。待到需要改動(dòng)時(shí),由于當(dāng)時(shí)一些思路已經(jīng)忘記了,沒(méi)有留下足夠的注釋和說(shuō)明文檔,就摸不著邊了。

4.由于沒(méi)有一個(gè)統(tǒng)一的編程規(guī)范,如果原先的程序不是自己寫(xiě)的,那就更糟糕了。光看懂前任的程序就要耗費(fèi)許多時(shí)間;而如果想較大面積地修改它,往往還不如自己重新寫(xiě)一個(gè)來(lái)得快些。

5.每次修改程序都是在原來(lái)程序的基礎(chǔ)上打補(bǔ)丁,往往會(huì)為下一次的修改增加難度。最后,量變引起質(zhì)變,活活把個(gè)好好的程序改爛掉了。

6.……


最近,壇子里,對(duì)編程方法思路等方面的討論較多(而雕蟲(chóng)小技則遭受拋棄)。匠人也來(lái)湊熱鬧,請(qǐng)大伙來(lái)討論:好程序如何才能經(jīng)得起千回改?


 
一些不成熟的想法,權(quán)當(dāng)拋磚引玉
 程序匠人 發(fā)表于 2004-7-30 11:34 侃單片機(jī) ←返回版面   舉報(bào)該貼


程序的改動(dòng)大多數(shù)情況下都是伴隨著硬件的改動(dòng)。關(guān)于硬件的改動(dòng)不是本貼的主題。不必作深入討論。

程序如何才能經(jīng)歷歲月的考驗(yàn),千錘百改,依然生機(jī)勃勃。一些不成熟的想法,權(quán)當(dāng)拋磚引玉:

1.程序應(yīng)該模塊化,便于拆卸或增加。(這已經(jīng)不算是新鮮觀點(diǎn)了)。

2.使用RAM或IO,必須先定義再使用,避免直接引用。將來(lái)需要調(diào)整時(shí),只要修改定義部分就好了。

3.相同或類(lèi)似的程序段應(yīng)該用子程序來(lái)實(shí)現(xiàn),如果受堆棧等資源局限,不能使用子程序,則應(yīng)該用宏來(lái)實(shí)現(xiàn),這樣以后需要改時(shí),只要改一“點(diǎn)”,無(wú)須改一“片”。

4.寫(xiě)程序要有足夠的注釋、說(shuō)明文檔、流程圖、原理圖。便于以后能夠快速勾起往日的回憶……

5.每次修改程序,應(yīng)該同步更新相關(guān)的注釋、說(shuō)明文檔、流程圖、原理圖。免得下次再改時(shí)對(duì)不上號(hào)。

6.應(yīng)該詳細(xì)記錄每次程序修改的細(xì)節(jié),形成一份歷史記錄。(強(qiáng)烈推薦這一點(diǎn))

7.每次改動(dòng)后的版本都應(yīng)該保留。而不應(yīng)該覆蓋原始文件。

8.所有的設(shè)計(jì)方案應(yīng)該妥善歸類(lèi)存檔備份,有條件最好刻成光盤(pán)。避免日久年長(zhǎng)因病毒或硬盤(pán)損壞而丟失。(別笑,真有丟了的。)


我想,“能夠經(jīng)得起千回改”是“好程序”的一個(gè)必要(不充分)條件。


支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

技術(shù)討論專(zhuān)題之六好程序如何經(jīng)得起千回改?








簽名
主站蜘蛛池模板: 97国产免费全部免费观看| 亚洲精品国产福利片| 久久99国产精品久久99果冻传媒| 欧美老少配xxxxx| 欧美一区二三区| 国产精品任我爽爆在线播放| 亚洲欧洲精品国产区| 8090韩国理伦片在线天堂| 欧美日韩亚洲国产| 国产精品福利久久| 亚洲国产精品成人AV在线| 2021免费日韩视频网| 欧美三级免费观看| 国产成人高清在线播放| 久久精品影院永久网址| 高清一级做a爱过程免费视频| 日本加勒比一区| 国产91无套剧情在线播放| 中文在线а√天堂| 秋葵视频在线观看在线下载| 天堂成人一区二区三区| 亚洲男人天堂影院| 两个人看的www免费视频| 最近最新中文字幕2018| 国产免费资源高清小视频在线观看| 久久久亚洲欧洲日产国码农村| 肥老熟妇伦子伦456视频| 婷婷开心中文字幕| 亚洲欧美高清在线| 亚洲欧美日韩国产vr在线观| 日本阿v视频在线观看| 啦啦啦手机完整免费高清观看 | a级毛片免费全部播放| 沈婷婷小雷第三次| 国产精品99久久不卡| 久久午夜综合久久| 美女扒开腿让男人捅| 夜色福利久久久久久777777| 亚洲婷婷在线视频| 高清videosgratis欧洲69| 成人亚洲网站www在线观看|