隨着我們下一個主要版本的發佈,我們正在尋求全球化我們的ASP.Net應用程序,並且我被要求考慮一種方法來跟蹤已經在這項工作中已經完成的代碼。跟蹤全球化進程
我的想法是使用一個自定義的屬性,並將其放置在所有已「固定」的類上。
您認爲如何?
有沒有人有更好的主意?
隨着我們下一個主要版本的發佈,我們正在尋求全球化我們的ASP.Net應用程序,並且我被要求考慮一種方法來跟蹤已經在這項工作中已經完成的代碼。跟蹤全球化進程
我的想法是使用一個自定義的屬性,並將其放置在所有已「固定」的類上。
您認爲如何?
有沒有人有更好的主意?
使用一個屬性來確定哪些類已經全球化,然後需要一個工具來處理代碼,並確定哪些類有和尚未「處理」,似乎有點複雜。
更傳統的項目跟蹤過程可能會更好 - 並且不會用超出全球化項目結束的功能含義的屬性/其他標記「污染」您的代碼。如何爲需要工作的每個班級提出缺陷並進行跟蹤?
如何計算或列出類,然後按班上課?雖然屬性可能是一個有趣的想法,但我認爲它是過度設計的。全球化無非是通過每個班級和全球化的代碼:)
你想在下一個版本之前完成。所以繼續,一個接一個地做,然後你就有了進步。我認爲每個班級提出的缺陷也太多了。
在我上一個項目中,我開始了全面的全球化。我只是從頂部到底部瀏覽了代碼文件列表。按我的情況按字母順序排列,文件夾之後放入文件所以我總是隻需要記住我上次處理的文件。這對我來說很好。
編輯:另一件事:在我上一個項目中,全球化主要涉及將硬編碼字符串移動到資源文件,並且在語言在運行時更改時重新生成所有文本。但是你也必須考慮數字格式之類的東西。微軟的FxCop幫助我,因爲它標誌着所有的數字轉換等,沒有指定文化爲違規。 FxCop跟蹤這一點,所以當你解決這樣的違規問題並重新運行FxCop時,它會報告違規(即解決)。這對於這些難以看到的東西特別有用。
如何在應用中爲每個頁面編寫單元測試?單元測試將加載的頁面並執行
foreach (System.Web.UI.Control c in Page.Controls)
{
//Do work here
}
對於工作的一部分,加載不同的全球化設置,看看。文本屬性(或相關屬性的應用程序)是不同的。
我的假設是,除最簡單的情況外,任何語言都不應該出現相同的情況。
使用成功完成的單元測試集來跟蹤您的進度。
如果您使用屬性方法,您可能可以使用類似NDepend,FxCop,Gendarme等的東西來計算哪些類具有該屬性,哪些不具有該屬性。你也可以只爲特定的程序集(使用程序集屬性)。 – 2008-11-03 04:50:18