Отслеживание прогресса в области глобализации

StackOverflow https://stackoverflow.com/questions/150416

  •  02-07-2019
  •  | 
  •  

Вопрос

С нашим следующим крупным выпуском мы планируем глобализировать наше ASP.Сетевое приложение, и меня попросили подумать о способе отслеживания того, над каким кодом уже была проведена работа в рамках этой работы.

Моя мысль состояла в том, чтобы использовать пользовательский атрибут и разместить его во всех классах, которые были "исправлены".

А ты как думаешь?

У кого-нибудь есть идея получше?

Это было полезно?

Решение

Использование атрибута для определения того, какие классы были глобализованы, затем потребовало бы инструмента для обработки кода и определения того, какие классы были "обработаны", а какие нет, похоже, это становится немного сложнее.

Более традиционный процесс отслеживания проекта, вероятно, был бы лучше - и не "загрязнял" бы ваш код атрибутами / другой разметкой, которые не имеют функционального значения после завершения проекта глобализации.Как насчет того, чтобы выявить дефект для каждого класса, требующий доработки, и отслеживать его таким образом?

Другие советы

Как насчет простого подсчета или перечисления классов, а затем работы от класса к классу?Хотя атрибут может быть интересной идеей, я бы расценил его как чрезмерно продуманный.Глобализация не делает ничего большего, чем, ну, прохождение по каждому классу и глобализация кода :)

Вы все равно хотите закончить это до следующего релиза.Так что продолжайте и просто делайте это одно за другим, и вот вам ваш прогресс.Я бы также расценил дефект, выявленный для каждого класса, как слишком большой.

В моем последнем проекте я немного запоздало приступил к полной глобализации.Я просто просмотрел список файлов кода сверху донизу.В моем случае в алфавитном порядке, и папка за папкой.Поэтому мне всегда нужно было только помнить, над каким файлом я работал в последний раз.Для меня это сработало довольно хорошо.

Редактировать:Еще кое - что:В моем последнем проекте глобализация в основном включала перемещение жестко закодированных строк в файлы ресурсов и повторную генерацию всего текста при изменении языка во время выполнения.Но вам также придется подумать о таких вещах, как форматы чисел и тому подобное.Microsoft FxCop помогла мне в этом, поскольку она помечает все преобразования чисел и т.д.без указания культуры в качестве нарушений.FxCop отслеживает это, поэтому, когда вы устраните такое нарушение и повторно запустите FxCop, он сообщит о нарушении как об отсутствующем (т.е.решено).Это особенно полезно для таких трудноразличимых вещей.

Как насчет написания модульного теста для каждой страницы приложения?Модульный тест загрузит страницу и выполнит

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

Для рабочей части загрузите различные настройки глобализации и посмотрите, соответствуют ли они .Свойство Text (или соответствующее свойство для вашего приложения) отличается.

Мое предположение состояло бы в том, что ни один язык не должен быть одинаковым во всех случаях, кроме самых простых.

Используйте набор успешно завершенных модульных тестов, чтобы отслеживать свой прогресс.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top