c# - Xml 文档不应该作为 String 传递,如何激励?

标签 c# java xml

看到像下面这样的方法签名时,我感到很不舒服:

public void foo(String theXml);

如果传递以 UTF-16 XML 声明开头的字符串,foo fo 会是什么? 在我看来,XML 的类型应该是强 XML 类型,如 DOM 树或字节数组。因此,foo 应该重新声明为:

public void foo(Byte[] theXml);

通常,程序员在读取theXml时会不必要地假设具有某种编码。通常只是希望文件库的默认值能猜对。

我怎样才能激励我的同事这样做?

不兼容的文档头编码声明的动机太弱了。 (使用强类型或字节数组会阻止对文档进行天真的解析/修改。)我已经多次看到由于此类错误导致编码中断的情况。

最佳答案

确保在您的测试套件中有一个测试,如果在字符串中错误地处理 XML,该测试将会失败。如果解释问题没有激励作用,那么展示问题的发生可能...

关于c# - Xml 文档不应该作为 String 传递,如何激励?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6343559/

相关文章:

java - If...Else 语句总是转向 "else"。

java - 是否可以使用 Joda-Time 获取一周的前一天?

java - springboot org.apache.jasper.JasperException 根据 TLD,标签属性无效

php - 我应该如何修改站点地图?

c# - 将多个 Api 调用建模为 1 个对象(数据结构)

c# - Sendgrid 退订首选项

c# - 找不到 System.Xaml?

android - 如何在android中定义一个 "On/Off"复选框

c# - 大写方法名称的 C# 标准是什么?

c# - 字符串转换 C#