Frage

Mit dem nächsten Major-Release suchen wir unsere ASP.Net Anwendung globalisieren und ich wurde gebeten, einen Weg zu denken, den Überblick zu behalten, welcher Code wurde in diesen Bemühungen bereits gearbeitet.

Mein Gedanke war, ein eigenes Attribut zu verwenden und es auf allen Klassen zu platzieren, die „festen“ wurde.

Was denken Sie?

Hat jemand eine bessere Idee?

War es hilfreich?

Lösung

ein Attribut verwenden, um zu bestimmen, welche Klassen globalisiert worden wäre dann ein Werkzeug benötigen Sie den Code zu verarbeiten und bestimmen, welche Klassen und wurden nicht „verarbeitet“, wie es scheint, es wird immer ein bisschen kompliziert.

Ein traditioneller Projekt-Tracking-Prozess wäre wahrscheinlich besser - und nicht Ihren Code mit Attributen / anderen Markup „verschmutzen“, das keine funktionelle Bedeutung über das Ende der Globalisierung Projektes. Wie wäre es ein Fehler für jede Klasse erhoben hat, die Arbeit erfordert, und es auf diese Weise Tracking?

Andere Tipps

Was ist nur zu zählen oder die Klassen Liste und dann Klasse nach Klasse arbeiten? Während ein Attribut eine interessante Idee sein kann, würde ich es als betrachte over-engineered. Globalizing tut nichts anderes als, na ja, geht durch jede Klasse und globalisierenden den Code:)

Sie mögen, dass vor dem nächsten Release sowieso beenden. So voran gehen und es nur ein tun nach der anderen, und dort haben Sie Ihre Fortschritte. Ich würde einen Fehler für jede Klasse als zu viel entweder angehoben betrachten.

In meinem letzten Projekt, begann ich ein wenig spät voll Globalisierung. Ich ging einfach durch die Liste der Code-Dateien, von oben nach unten. In alphabetischer Reihenfolge in meinem Fall und Ordner nach dem Ordner. Also immer hatte ich nur daran zu erinnern, welche Datei ich zuletzt gearbeitet. Das funktionierte ziemlich gut für mich.

Edit: Eine andere Sache: In meinem letzten Projekt, globalisierenden hauptsächlich hartcodierte Strings beteiligt Verschieben von Dateien auf Ressourcen und erneut zu erzeugen den gesamten Text, wenn die Sprachänderungen zur Laufzeit. Aber Sie werden auch über Dinge wie Zahlenformate und dergleichen zu denken. Microsofts FxCop half mir mit, dass, da sie alle Zahl Konvertierungen usw. markiert, ohne eine Kultur als Verletzungen angeben. FxCop hält von dieser Strecke, so dass, wenn Sie eine solche Verletzung gelöst und wieder lief FxCop, würde es die Verletzung als vermißt melden (d gelöst). Das ist besonders nützlich für diese schwieriger zu sehen Dinge.

Wie wäre es einen Komponententest für jede Seite in der App zu schreiben? Der Unit-Test würde die Seite laden und auszuführen a

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

Für die Arbeit teilweise lädt verschiedene Globalisierungseinstellungen und sehen, ob die .Text Eigenschaft (oder relevante Eigenschaft für Ihre Anwendung) unterschiedlich ist.

Meine Vermutung wäre, dass keine Sprache, sondern die einfachsten Fälle in alle gleich kommen sollte.

Mit dem Satz von Unit-Tests, die erfolgreich vollständig Ihren Fortschritt zu verfolgen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top