2013-12-09 86 views

回答

1

记住几件事情可以帮忙,这是一般对于任何序列在几乎任何语言:

  1. 开始,长度,这样,你的代码总是能得到记录,即使它不理解他们全部。
  2. 包含格式的版本号 - 如果您必须打破兼容性,那么您可以优雅地处理它。
  3. 总是在末尾扩展枚举 - 从来没有在开始或中间。
  4. 仅在最后添加新字段。
  5. 如果必须有任何可变长度字段,请将该长度分别存储在字段之前或作为字段中的第一个字节。
  6. 通过使用指定字节顺序的固定长度整数,允许不同的整数长度和字节顺序。
  7. 尽量避免位域 - 位排序&填充通常是未定义的。
  8. 不要假设任何东西
  9. 写下所有内容并发布。
  10. 写下它第一个然后尝试这样做,然后在必要时更正所写的内容。
  11. 测试,测试,测试 - 具有编写和可用的修订测试,最好跨平台,跨版本,跨语言。
  12. 允许未来,例如, Unicode,新体系结构等。
  13. 看看别人已经做了什么,并从中学习。

添加几个环节MSDN专门针对C#/ VB/.NET从有机磷农药的意见导致保留链接 - Data Contract Versioning & Best Practices: Data Contract Versioning - 注意,这些环节都受到MSDN变幻莫测可能会蒸发或移动

+0

谢谢。有了你的解释,我发现http://msdn.microsoft.com/en-us/library/ms731138%28v=vs.110%29.aspx,正是我需要的。 –