1

在我们的下一个主要版本中,我们希望全球化我们的 ASP.Net 应用程序,我被要求想出一种方法来跟踪在这项工作中已经完成了哪些代码。

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

你怎么看?

有没有人有更好的主意?

4

3 回答 3

1

使用属性来确定哪些类已经被全球化,然后需要一个工具来处理代码并确定哪些类已经“处理”了和没有被“处理”,看起来有点复杂。

更传统的项目跟踪过程可能会更好 - 并且不会使用在全球化项目结束后没有功能意义的属性/其他标记“污染”您的代码。为每个需要工作的类提出一个缺陷并以这种方式跟踪它怎么样?

于 2008-09-29T20:11:28.887 回答
0

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

无论如何,您都希望在下一个版本之前完成它。因此,继续进行,一件一件地做,您就有了进步。我也认为为每个班级提出的缺陷太多了。

在我的上一个项目中,我开始全面全球化的时间有点晚。我只是从上到下浏览了代码文件列表。在我的情况下按字母顺序排列,一个文件夹接一个文件夹。所以我总是只需要记住我上次处理的文件。这对我来说效果很好。

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

于 2008-09-29T20:21:55.337 回答
0

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

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

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

My assumption would be that no language should come out the same in all but the simplest cases.

Use the set of unit tests that sucessfully complete to track your progress.

于 2008-10-09T19:18:46.380 回答