重写、重做和重新架构代码合起来,称为重构、当代码出现以下特征,就应该考虑重构了、出现重复内容,违反DRY原则、非正交的设计、知识过时了,或者你对某部分的了解更深一步、对性能造成了影响、重构的原则:早重构、常重构。重构面临的敌人通常都是时间,但这个借口并不成立,因为之后由此引发的时间额外消耗很可能更多。如何重构。不要试图在重构的同时增加功能。重构之前,确保拥有良好的测试。采取短小,深思熟虑的步骤,不要一次改动太多内容。
戈尔迪斯结号称是没人能解开的结,后来亚历山大大帝来了,用剑劈开了这个结、面对看似不可能解决的问题,一定要转换思路,不要受任何先人之见影响。不要在盒子外面思考,要找到盒子、有时你会发现,自己在处理的问题比你以为的要难得多,总会感觉一定有更容易的方法。这时你可以退回一步,问问自己:
有更容易的方法吗
你是在解决真正的问题,还是被外围的技术问题转移了注意力
这件事情为什么是一个问题
是什么使它如此难以解决
它必须以这种方式完成吗
很多时候,对需求的重新诠释能让整个问题全部消失— 就像戈尔迪斯结。
1、某个项目团队奇迹般的完成了一个非常复杂的项目,但却遭到用户抵制,原因是该引用没有帮助系统。所以考虑现实,项目的成功是由它在多大程度上满足了用户的期望来衡量的。
2、要与客户之间多交流期望,了解他们的需求,而不是一味沉溺在技术的世界里。
3、适当制造惊喜,会有些通用性的技巧能让项目获得更好的体验。比如:
气球式帮助
快捷键
日志文件分析器
自动化安装