代码重构
- - ITeye博客随着程序的演化,我们有必要重新思考早先的决策,并重写部分代码. 代码需要演化;它不是静态的事物. 重写、重做和重新架构代码合起来,称为重构. 当你遇到绊脚石 --- 代码不在合适,你注意到有两样东西其实应该合并或是其他任何对你来说是"错误"的东西 -------- . 如果代码具备以下特征,你都应该考虑重构代码:.
成为一个优秀的程序员和成为其他优秀的专业人员一样,需要尽可能多的做一些有质量的工作。有句很流行的话可以总结:做,正确做事,立马就做。(Do it. Do it right. Do it right now)
0. 将一天要做的事情列成清单
完成复杂活动(activity)的最好方法是将其拆分成简单的各项活动。每天早上,将你一天要完成的活动进行拆分,然后制定一个相应的日程安排表,这样能够帮助你:
- 更好的理解这个活动。
- 每天都有一个集中的目标。
- 提高你的估计能力,几天之后,你会发现你能预测一天的工作量。
1. 一次只做一件事
集中于一项任务比同时做多项任务更多产,不同的研究已经证明这个观点,并且发布在不同的媒体上(例如CNN)。
集中精力工作25分钟,休息5到10分钟。你可以用诸如“番茄工作法”这种流行的技术来帮助你管理时间。还有工具能帮助你测量你花在各项不同任务上的时间,我最喜欢的是CoolTimer,这里也有10个不错的时间追踪应用程序。
2. 正确做事
以下两个是考察事情是否正确完成的关键:
- 要为解决方法感到到自豪,因为这不仅仅只是个普通的解决方法,这是个好的方法。遵循“软件质量金字塔”的原则
- 解决方法至少要经过一次检查。在你的同事中,请一位你尊敬的优秀开发人员检查你的方法,并接受他的真诚建议。
3. 不要半途而废
众所周知,若仍有一个玻璃杯需要清洗,则不能说已经洗完了。粉刷墙壁或驱车前往某处这些事情上我们也认可同样的道理,但在软件开发上我们却不这么认为了。即便我们没有完成所有的单元测试,或者我们没有核实实现方式是否符合用户的需要,我们也说完成了任务。这是典型来自Hope Driven Development的行为,是非常有害的。
需求没有更改时,只有当你百分之百确认再也没有必要改善那个解决方法时,才能算完成任务。
4. 与其道歉,不如补救,而放弃最不可取。
如果你要花额外的时间来完成一些代码的测试,或者重构不可读的类,那么就去做,因为这是为将来投资时间。但是如果你在某件事上面卡住了或者将项目拖延的太久,那么寻找一个更容易的方案。它可能不如你目前正在实现的方案优雅,但至少你有方案。确保记录下来以应对这个项目将来的风险,并且有些东西需要重新审查。
-------------------------------------------------------------------
你可能对以下文章也感兴趣
各种语言的运行时刻性能消耗
我从PHP退役了
25款适用于开发人员的Firefox 4插件
Javascript:C语言和Self语言一夜情的产物
5本免费的Java电子书
-------------------------------------------------------------------
译文出处:伯乐在线 - 职场博客 - 程序员
译文链接:http://www.jobbole.com/entry.php/971
原文:Alberto Gutierrez 翻译:敏捷翻译 - 唐瑭
如需转载,但请注明原文/译文出处、译文超链接和译者等信息,否则视为侵权,谢谢合作!