我感到強烈的不適感觀看方法簽名時這樣的: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