<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

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


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

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

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


    加好友 發(fā)短信
    等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
    技術(shù)討論專題之六好程序如何經(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)。但是,好程序也怕千回改,大凡寫程序的人都會(huì)有這種體驗(yàn),就是寧可寫程序,不愿改程序,原因如下: 1.寫程序時(shí),所有資源(IO口、RAM、ROM、堆棧、計(jì)數(shù)器、中斷……等等)都是可用的,可以無(wú)拘束地使用;而改程序時(shí),只能利用原先用剩下的資源。 2.寫程序時(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)。但是,好程序也怕千回改,大凡寫程序的人都會(huì)有這種體驗(yàn),就是寧可寫程序,不愿改程序,原因如下:

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

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

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

    4.由于沒(méi)有一個(gè)統(tǒng)一的編程規(guī)范,如果原先的程序不是自己寫的,那就更糟糕了。光看懂前任的程序就要耗費(fèi)許多時(shí)間;而如果想較大面積地修改它,往往還不如自己重新寫一個(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.相同或類似的程序段應(yīng)該用子程序來(lái)實(shí)現(xiàn),如果受堆棧等資源局限,不能使用子程序,則應(yīng)該用宏來(lái)實(shí)現(xiàn),這樣以后需要改時(shí),只要改一“點(diǎn)”,無(wú)須改一“片”。

    4.寫程序要有足夠的注釋、說(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)該妥善歸類存檔備份,有條件最好刻成光盤。避免日久年長(zhǎng)因病毒或硬盤損壞而丟失。(別笑,真有丟了的。)


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


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

    返回版面帖子列表

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








    簽名