分享
 
 
 

The Art of Maintenance Programming

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

The Art of Maintenance Programming

最近项目人员变动的,自己有一半时间都在维护别人的(也有自己的)代码,真是有些不适应,主要是一开始对于Maintenance Programming没啥认识,太想当然了,本以为既能学东西还能算工作量。不知道其他人都是怎么维护别人留下来的代码的。

前两天看到CodeProject上一篇短小精悍的好文把Maintenance Programming 的Good Practices说的头头是道:

http://www.codeproject.com/gen/design/artmaintenance.asp

可惜看到有点晚了):

人家说了9条,俺也懒得翻了,没看过的听俺大概说说:

1. Get to Like It (先喜欢上它)

说起来容易做起来可难,让写程序的心甘情愿去维护别人的代码,而且还要like,确实难。其实多想想就平衡了,听人家说咱们这个工种干的活都是靠左脑配合双手就可以完成了,基本上用不到大脑右半球的功能,所以也就谈不上啥真正的创造性,那维护别人的代码和自己写新的其实并无太大区别。

2. Get Familiar with the Functionality of the Software You Maintain (熟悉你需要维护的软件的功能)

你得维护还得改bug,想不熟悉都难。但还是觉得一开始比较痛苦。

3. Get Familiar with the Architecture of the Software You Maintain(跟你维护的那个软件的架构师混熟)

这个也比较容易,只要他没跳槽。

4. Communicate with the Users(多跟用户沟通)

沟通一下也没啥坏处。

5. If Possible, Communicate with Original Developers(如果可能,跟原来的那个开发人员多沟通)

通常这个是不大可能的。要是人家还在,PM一般也不会让别人来维护这部分代码。

6. Keep the History of Changes (保留改动的记录)

这个基本上就靠版本控制软件了。

7. Be Conservative (越保守越好)

一开始俺还不信,有些维护起来比较痛苦的地方,我还试图把它重写一下,后来发现行不通的时候自己都傻了,只能退回到一个礼拜以前的状态。

How would it benefit your organization and its customers? The fact that some code is ugly, or looks ugly to you is not per se a reason to rewrite it. If a customer wants a feature that can’t be added to existing code, that could be a reason to consider rewriting it.

Are you sure you understand what this code does and how it works?

Are you sure you understand how it interacts with other parts of the system, and which modules and functionality depend on the code you want to rewrite?

Are you sure you can make it better? Maybe you run into the same problems the original developers did, and make it same or even worse.

8. Test after Every Change You Make(每次有改动都跑一下测试代码)

这条对于C++写的程序来说太难做到了,俺试过CppUnit和TUT,CppUnit还好一点,可以嵌到VC6的IDE里,但写测试代码也是不胜其烦。俺也知道Test driven是好东东,有谁用的得心应手一定要把好经验分享一下。

9. Adopt Existing Code Conventions Even If You Don’t Like Them(即使你不喜欢原来的编码规范也要接受它)

编码规范之争本来就是个生死攸关的原则问题Code conventions are something people get religious about。但是如果不强迫自己慢慢适应你的前任的编码习惯(至少在你维护代码的时候),到后面会越来越痛苦。作者说了,adopt one of the existing conventions, and don’t introduce yet another one.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有