[英]c# Should I use a output in my void method?
private void button1_Click(object sender, EventArgs e)
{
try
{
int Number = Convert.ToInt32(textBox1.Text);
HalfNumber(Number);
textBox1.Focus();
textBox1.SelectAll();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void HalfNumber(int numberToUse)
{
double x = numberToUse / 2.0;
MessageBox.Show("Half of the number is " + x.ToString());
}
}
}
上面的代碼是一個示例。
我以為我的講師說永遠不要在方法中使用輸出,因為在測試代碼的情況下,代碼可能在世界的另一端,無法看到正在發生的事情。
我可能誤會了她,但我想請人解釋一下
很難確切知道她的意思。 但是,將對話框放在執行離散操作的函數中是意外的。
從HalfNumber
方法返回一個數字,然后顯示包含結果的對話框會更合乎邏輯
private void button1_Click(object sender, EventArgs e)
{
try
{
int Number = Convert.ToInt32(textBox1.Text);
double myHalfNumber = HalfNumber(Number);
MessageBox.Show("Half of the number is " +myHalfNumber.ToString());
textBox1.Focus();
textBox1.SelectAll();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private double HalfNumber(int numberToUse)
{
return numberToUse / 2.0;
}
關注點分離
在軟件工程中,關注點分離是指軟件元素的描述和關聯,以實現系統內的順序。 通過適當地分離關注點,復雜度變得可控
不要重復自己(干)
軟件開發的原則旨在減少軟件模式的重復,用抽象代替它們; 和相同數據的多個副本,使用數據規范化來避免冗余。
將HalfNumber
放入其自己的離散方法中,可以重用代碼,並將邏輯分離為僅可維護和可預測的邏輯
void表示您無法返回任何值。 如果要輸出,則需要指定它。 之后,您可以使用返回值。
例如:
private double HalfNumber(int numberToUse)
{
double x = numberToUse / 2.0;
return x;
}
你可以這樣使用
private void button1_Click(object sender, EventArgs e)
{
try
{
int Number = Convert.ToInt32(textBox1.Text);
double result = HalfNumber(Number);
MessageBox.Show("Half of the number is " + result.ToString());
textBox1.Focus();
textBox1.SelectAll();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private double HalfNumber(int numberToUse)
{
double x = numberToUse / 2.0;
return x;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.