我有一个关于我重构的问题。 我想检查一下系统和对象的状态是否相同。 由于系统类型的原因,我无法同时创建相同的2个对象,而是一个接一个地创建。对象是大的。重构C#应用工具
我想过把它们序列化成一个文件并进行比较。
- 是否有另一种方法做比较?
- 我是否需要遍历所有对象并添加属性[Serializable]?
- 对象是COM并且没有该属性会发生什么?
- 如果一个对象包含另一个对象,它会将其序列化为?
我有一个关于我重构的问题。 我想检查一下系统和对象的状态是否相同。 由于系统类型的原因,我无法同时创建相同的2个对象,而是一个接一个地创建。对象是大的。重构C#应用工具
我想过把它们序列化成一个文件并进行比较。
我首先想到的是回到重构规则。
虽然我没有用它,Orsol的答案(Object Comparison API)声音很有希望(问题1)。至于序列化的路径,.NET包装应该帮助序列化的对象,但是最终你可能会重击自动生成的代码,所以这是一个短期的解决方案。序列化到文件和比较是一个短路径选项。
即使您未计划在将来重新构建代码(或扩展,更改等),我仍然认为花时间设置单元测试是值得的练习。
是的,如果你想重构你的代码,首先有一个测试安全网。然后,尝试在婴儿阶段重构。
有时,你知道你想重构什么;然而,很多时候你不知道要重构什么(尽管你可能会猜测有什么不对)。在这种情况下,您可以使用设计气味检测工具,如Designite。
请声明您与本网站/服务有任何关联。 – ChrisF 2015-01-16 12:08:58