追踪全球化进程

时间:2020-03-06 14:53:37  来源:igfitidea点击:

在我们的下一个主要版本中,我们希望全球化ASP.Net应用程序,因此有人要求我考虑一种方法来跟踪在此工作中已经处理过的代码。

我的想法是使用自定义属性,并将其放置在所有已"修复"的类上。

你怎么认为?

有谁有更好的主意吗?

解决方案

使用一个属性来确定哪些类已经被全球化,这将需要一个工具来处理代码并确定哪些类已经被"处理",这似乎变得有些复杂。

较传统的项目跟踪过程可能会更好,并且不会使用在全球化项目结束后没有任何功能含义的属性/其他标记来"污染"代码。为需要工作的每个班级提出一个缺陷并以这种方式进行跟踪怎么样?

仅计算或者列出班级,然后按班级上班呢?虽然属性可能是一个有趣的想法,但我认为它是过度设计的。全球化无非就是遍历每个类并全球化代码:)

无论如何,我们都想在下一个版本之前完成它。因此,继续做下去,一个接一个地完成,就可以取得进展。我认为每个班级提出的缺陷也太多了。

在上一个项目中,我开始全面全球化有点晚了。我只是从头到尾浏览了代码文件的列表。就我而言,按字母顺序,一个接一个的文件夹。因此,我始终只需要记住我上次处理的文件。这对我来说效果很好。

编辑:另一件事:在我的上一个项目中,全球化主要涉及将硬编码的字符串移动到资源文件,以及在语言在运行时更改时重新生成所有文本。但是,我们还必须考虑数字格式之类的问题。微软的FxCop为我提供了帮助,因为它标记了所有数字转换等,而没有将文化指定为违规。 FxCop会跟踪此情况,因此当我们解决此类违规并重新运行FxCop时,它将报告该违规为丢失(即已解决)。这对于这些难以看清的事情特别有用。

如何为应用程序中的每个页面编写单元测试?单元测试将加载页面并执行

foreach (System.Web.UI.Control c in Page.Controls)
{
    //Do work here
}

对于工作部分,请加载不同的全球化设置,并查看.Text属性(或者应用程序的相关属性)是否不同。

我的假设是,除了最简单的情况外,所有语言都不会出现相同的情况。

使用成功完成的一组单元测试来跟踪进度。