[導讀]程序如何才能經(jīng)歷歲月的考驗,千錘百改,依然生機勃勃。一些不成熟的想法,權(quán)當拋磚引玉:
程序的改動大多數(shù)情況下都是伴隨著硬件的改動。關(guān)于硬件的改動不是本貼的主題。不必作深入討論。
程序如何才能經(jīng)歷歲月的考驗,千錘百改,依然生機勃勃。一些不成熟的想法,權(quán)當拋磚引玉:
1.程序應(yīng)該模塊化,便于拆卸或增加。(這已經(jīng)不算是新鮮觀點了)。
2.使用RAM或IO,必須先定義再使用,避免直接引用。將來需要調(diào)整時,只要修改定義部分就好了。
3.相同或類似的程序段應(yīng)該用子程序來實現(xiàn),如果受堆棧等資源局限,不能使用子程序,則應(yīng)該用宏來實現(xiàn),這樣以后需要改時,只要改一“點”,無須改一“片”。
4.寫程序要有足夠的注釋、說明文檔、流程圖、原理圖。便于以后能夠快速勾起往日的回憶……
5.每次修改程序,應(yīng)該同步更新相關(guān)的注釋、說明文檔、流程圖、原理圖。免得下次再改時對不上號。
6.應(yīng)該詳細記錄每次程序修改的細節(jié),形成一份歷史記錄。(強烈推薦這一點)
7.每次改動后的版本都應(yīng)該保留。而不應(yīng)該覆蓋原始文件。
8.所有的設(shè)計方案應(yīng)該妥善歸類存檔備份,有條件最好刻成光盤。避免日久年長因病毒或硬盤損壞而丟失。(別笑,真有丟了的。)
我想,“能夠經(jīng)得起千回改”是“好程序”的一個必要(不充分)條件。
程序如何才能經(jīng)歷歲月的考驗,千錘百改,依然生機勃勃。一些不成熟的想法,權(quán)當拋磚引玉:
1.程序應(yīng)該模塊化,便于拆卸或增加。(這已經(jīng)不算是新鮮觀點了)。
2.使用RAM或IO,必須先定義再使用,避免直接引用。將來需要調(diào)整時,只要修改定義部分就好了。
3.相同或類似的程序段應(yīng)該用子程序來實現(xiàn),如果受堆棧等資源局限,不能使用子程序,則應(yīng)該用宏來實現(xiàn),這樣以后需要改時,只要改一“點”,無須改一“片”。
4.寫程序要有足夠的注釋、說明文檔、流程圖、原理圖。便于以后能夠快速勾起往日的回憶……
5.每次修改程序,應(yīng)該同步更新相關(guān)的注釋、說明文檔、流程圖、原理圖。免得下次再改時對不上號。
6.應(yīng)該詳細記錄每次程序修改的細節(jié),形成一份歷史記錄。(強烈推薦這一點)
7.每次改動后的版本都應(yīng)該保留。而不應(yīng)該覆蓋原始文件。
8.所有的設(shè)計方案應(yīng)該妥善歸類存檔備份,有條件最好刻成光盤。避免日久年長因病毒或硬盤損壞而丟失。(別笑,真有丟了的。)
我想,“能夠經(jīng)得起千回改”是“好程序”的一個必要(不充分)條件。





