重构C#应用程序工具

时间:2012-01-11 13:31:07

标签: c# serialization refactoring

我有一个关于重构的问题。 我想检查一下在更改后系统和对象的状态是否相同。 由于系统类型,我不能同时创建相同的2个对象,而是一个接一个地创建。对象很大。

我想将它们序列化为一个文件并进行比较。

  1. 还有其他方法可以进行比较吗?
  2. 我是否需要查看所有对象并添加属性[Serializable]?
  3. COM对象没有该属性会发生什么?
  4. 如果一个对象由另一个对象组成,它会将它序列化为吗?

3 个答案:

答案 0 :(得分:1)

我的第一个想法是回到重构规则。

  1. 在重构之前将代码包装到单元测试中进行重构
  2. 小步重构
  3. 每次小改变后进行测试
  4. 虽然我没有使用它,但Orsol的答案(Object Comparison API)听起来很有希望(问题1)。至于序列化路径,.NET包装器应该可以帮助处理序列化对象,但最终可能会破坏自动生成的代码,因此这是一个短期解决方案。序列化到文件和比较是一个短路径选项。

    我仍然认为花时间设置单元测试是一项值得的练习,即使您未来计划再次重构(或扩展,更改等)代码。

答案 1 :(得分:0)

您可以从Object Comparison API

开始

答案 2 :(得分:0)

是的,如果你想重构你的代码,首先要有一个测试安全网。然后,尝试重建婴儿步骤。

有时候,你知道你想重构什么;然而,很多次你不知道要重构什么(虽然,你可能会猜测出错了)。在这种情况下,您可以使用设计气味检测工具,例如Designite