Möglicherweise wird Code angezeigt, der den Anzeigenamen in die Logik einbettet, obwohl er den ursprünglichen Wert hat. Das Problem mit diesem Code ist, dass die Logik geändert werden muss, wenn sich die Anzeige ändert. Es wird konkret im Beispielcode angezeigt.
Wenn im Beispielcode der Teilungswert (IsOk) Ja lautet, wird ○ auf dem Bildschirm angezeigt. Wenn das Entwurfsdokument eine Aussage enthält, dass der Fall von ○ fett sein soll, lautet der zu erstellende Code wie folgt. Der Klassifizierungswert und sein Anzeigewert können vom Bildschirm abgerufen werden.
/**Kategoriewert**/
private enum IsOk
{
Yes,
No
}
public void Main()
{
//Implementiert für NG-Bildschirmanzeige. Wenn die Anzeige nicht mehr ○ ist, ist eine Korrektur erforderlich.
if (GetDisplay() == "○")
{
SetBold();
}
}
private IsOk GetValue()
{
//Holen Sie sich den Flag-Wert auf dem Bildschirm gesetzt. Es ist ein fester Wert, weil es ein Build ist.
return IsOk.Yes;
}
private string GetDisplay()
{
//Rufen Sie den Anzeigewert für das auf dem Bildschirm gesetzte Flag ab. Es ist ein fester Wert, weil es ein Build ist.
return "○";
}
private void SetBold()
{
//Machen Sie die Buchstaben fett. Code weggelassen.
}
/**Kategoriewert**/
private enum IsOk {
YES, NO,
}
public void main() {
if (getDisplay() == "○") {
setBold();
}
}
private IsOk getValue() {
//Holen Sie sich den Flag-Wert auf dem Bildschirm gesetzt. Es ist ein fester Wert, weil es ein Build ist.
return IsOk.YES;
}
private String getDisplay() {
//Rufen Sie den Anzeigewert für das auf dem Bildschirm gesetzte Flag ab. Es ist ein fester Wert, weil es ein Build ist.
return "○";
}
private void setBold() {
//Machen Sie die Buchstaben fett. Code weggelassen.
}
Wenn im Fall des Beispielcodes die Anzeige von ○ auf ◎ geändert wird, muss das Innere der if-Anweisung korrigiert werden. Um sich von der Anzeige auf dem Bildschirm zu trennen, kann der Teilungswert verwendet werden.
/**Kategoriewert**/
private enum IsOk
{
Yes,
No
}
public void Main()
{
//Es funktioniert, wenn Ja, unabhängig von der OK-Anzeige. Es wird von der Bildschirmanzeige nicht beeinflusst.
if (GetValue() == IsOk.Yes)
{
SetBold();
}
}
private IsOk GetValue()
{
//Holen Sie sich den Flag-Wert auf dem Bildschirm gesetzt. Es ist ein fester Wert, weil es ein Build ist.
return IsOk.Yes;
}
private string GetDisplay()
{
//Rufen Sie den Anzeigewert für das auf dem Bildschirm gesetzte Flag ab. Es ist ein fester Wert, weil es ein Build ist.
return "○";
}
private void SetBold()
{
//Machen Sie die Buchstaben fett. Code weggelassen.
}
/**Kategoriewert**/
private enum IsOk {
YES, NO,
}
public void main() {
if (getValue() == IsOk.YES) {
setBold();
}
}
private IsOk getValue() {
//Holen Sie sich den Flag-Wert auf dem Bildschirm gesetzt. Es ist ein fester Wert, weil es ein Build ist.
return IsOk.YES;
}
private String getDisplay() {
//Rufen Sie den Anzeigewert für das auf dem Bildschirm gesetzte Flag ab. Es ist ein fester Wert, weil es ein Build ist.
return "○";
}
private void setBold() {
//Machen Sie die Buchstaben fett. Code weggelassen.
}
Vorheriger Artikel (wenn die Verarbeitung nach bedingter Verzweigung redundant ist)
Nächster Artikel (Ausnahmen ignorieren)
Recommended Posts