我感到强烈的不适感观看方法签名时这样的:Xml文档不应该作为String传递,如何激励?
public void foo(String theXml);
什么会foo
FO如果通过用UTF-16 XML声明开头的字符串? 在我看来,XML应该是一个强类型的XML,比如一个DOM树或者一个字节数组。因此,FOO应当重新声明为:
public void foo(Byte[] theXml);
通常,程序员会不必要地假设,当读取theXml
具有一定的编码。通常只是希望文件库的默认值能正确猜测。
我该如何激励我的同事?
不兼容的文档头编码声明的动机太弱。 (使用强类型或字节数组会阻止对文档进行天真的解析/修改。)我曾多次看到由于这种错误导致编码中断的情况。
谢谢,这是一个很好的答案。我正在寻找一些更理论化的东西。甚至可能是哲学的。 – Hugo 2011-06-14 12:51:07
我不确定这是否是一个理论问题;更实用一个。一些使用XML的西方开发人员最初对字符和编码问题的复杂性存在盲点。处理具有“特殊”特征的广泛内容的内容强化了这些问题存在的观点;从那里开始有一些必须存在的方式来处理它们 - 从那里解决方案就是了解这项技术...... – alexbrn 2011-06-14 13:02:15