我想开始讨论重构技巧的最佳资源,着眼于前端JavaScript重构。
我尊重一个朋友的意见,他建议使用这个book,尽管它使用Java语言的例子。我理解OO重构的原则应该翻译成另一种语言。
让我们来讨论一下总体上的重构和具体的JS重构。
发布于 2011-01-06 00:59:54
看看马丁的Clean Code吧,从中获得一些灵感。示例是用Java语言编写的,但是其思想也应该转换成JavaScript。
为了正确地重构,你需要很好地测试你的代码,因为适当的测试是它的先决条件。尝试寻找能够提供代码覆盖率的测试工具,因为这将是非常有价值的。
如果您的代码尚未经过测试,您可以将测试视为一种学习方法。您可以编写测试来证明或反驳您对它的假设。一旦您完成并充分介绍了它,您应该能够使用提供的各种模式重构代码。
正如Ira提到的,拥有一个检测克隆的工具可能是有价值的。这绝对是看待它的一种方式。
我认为,通常情况下,拥有正确的视角是解决方案的一半。如果你能清晰地表达你的设计,你最终会得到更好的结果。尽量不要通过应用你找到的每一个可能的模式来过度设计它。:)
发布于 2011-01-06 00:39:34
不是专门的重构工具,而是检测代码中的头号气味的工具:我们的CloneDR自动查找重复的代码(复制/粘贴/编辑),并向您显示每个克隆的准确位置和合理的抽象。你必须手动解析克隆,但知道它们在哪里,并且在抽象中提供了第一次剪切,这是一个很大的帮助。
EDIT:这是一个直接用于重构Java和JavaScript代码的资源。CloneDR对这两种情况都有效,使用语言精确解析对克隆进行精确分析。
你可以看到sample clone detection results on Google's Javascript Closure package。
https://stackoverflow.com/questions/2389320
复制相似问题