前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >代码重构之路的艰辛

代码重构之路的艰辛

作者头像
用户1172223
发布2018-01-29 16:45:59
7072
发布2018-01-29 16:45:59
举报
文章被收录于专栏:哲学驱动设计哲学驱动设计

  我承认,这个标题很沉重。我有幸使用了一个开源的项目作为小范围内的二次开发应用。这个项目其实是挺大的,开源代码仅是其中一部分,在二次开发中我对源代码作了一些改进,都是一些必要的改进以及发现的BUG;这些BUG在后续的开源参与者一一修复。我想说的是重构过程中的一些小问题。

一、如果你决定重构代码,特别是别人的代码,最好对整个项目有一个清晰的认识,最好记得哪些代码运行在哪些文件中的哪一行里(基于没有BUG即良好的思想,你可不重构)。我很反感以下的代码。

boo _flag=false;
boo _isexists=false;
string _username;

上面的代码不用多说,大家也可以看出问题,当然这些简单的重构我相信初学者都可以改好,其实这是习惯问题,有时候是:习惯决定行为,行为决定思想,思想决定高度。至少在这里我看不出什么高度可言了。

二、尽量不要去动那些核心的代码。这里所指的核心是:搞不好程序就当掉了。如果你真要没事想重构以显示你的能耐,我劝你还是考虑一下“没有BUG不要修改”的原则。我上一次对一个程序的核心代码(绝对是核心)修改前,花了一个星期去阅读所有文档和代码,虽然之前我已对所有文档和代码看过无数次。

三、如果真要进行重构,那么最好让所有项目组成员都知道。不要以为你重构一点点功能而已,不影响什么东西;如果你不认同这一条,那么请回忆一下中国移动的广告:沟通无限。相信我,作为项目组的一员,他们是非常有必要和需要知道你正在动他们的奶酪的。

四、记得作代码签入注释。我对那种不写注释的人,有想痛扁他一顿的冲动。

五、让他人介入。重构前或者重构后,让你的同事或者上级审阅你的代码,如果你写得很好,也是一种享受;当然,如果你写得很烂,也算得到了指点。

六、重构前,试试测试驱动开发。我从来不在真正的项目中直接切入重构,因为我不能预料到我的切入是否正确,那种感觉就像是,让我不穿衣服的站在街上的那么的窘迫。也许你想找环境的借口;不,我告诉你,环境都是人搭建的,搭建环境是相当不费事的,至少我还没有怎么费事。

七、学会宽容和理解。重构之人火气通常都比较大,当然,你也许可以采用让被重构者请你喝杯咖啡来缓解紧张的气氛。

八、没事不要老打重构的主意。

  最后一条我觉得是非常重要的一条,如果你没事老重构的主意,那只能说明一点,你写的很烂;或者你认为其它人写得都没有你高明。相信我,这绝对是没事找抽型的。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2010-11-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档