Можно ли сделать код рациональней? - C#
Формулировка задачи:
Здравствуйте! Посоветуйте, пожалуйста, можно ли сделать код рациональней? Может, делаю лишнюю работу:
namespace height
{
class Program
{
static void Main(string[] args)
{
MyData X1 = new MyData();
MyData X2 = new MyData();
MyData X3 = new MyData();
MyData Xmax;
MyData Xmin;
X1.Init2(175, "Petrov");
X2.Init2(180, "Ivanov");
X3.Init2(208, "Kirilenko");
Console.WriteLine("Petrov:" + fromSmToInch.ToInch(X1));
Console.WriteLine("Ivanov:" + fromSmToInch.ToInch(X2));
Console.WriteLine("Kirilenko:" + fromSmToInch.ToInch(X3));
X2.PrintHeightInch();
Xmax = X2.GetMoreHigh(X1, X3);
Xmax.PrintHeightInch();
Xmin = X2.GetLow(X1, X3); // находим имя и рост минимального человека
Xmin.PrintLowestHeightInch(); // выводим имя и рост минимального человека
}
}
class MyData
{
private double height;
private string name;
public void Init2(double height, string name)
{
this.height = height;
this.name = name;
}
public double GetHeight()
{
return height;
}
public string GetName()
{
return name;
}
public void PrintHeightInch()
{
Console.WriteLine("H= {0} дюймов", fromSmToInch.ToInch(this));
}
public void PrintLowestHeightInch()
{
Console.WriteLine("{0}: {1} дюймов", LName.gName(this), fromSmToInch.ToInch(this));
}
public MyData GetMoreHigh(MyData aData, MyData bData) // метод для поиска максимального роста среди трёх человек
{
if (aData.GetHeight() > height && aData.GetHeight() > bData.GetHeight())
return aData;
else if (bData.GetHeight() > height && bData.GetHeight() > aData.GetHeight())
return bData;
else
return this;
}
public MyData GetLow(MyData aData, MyData bData) // метод для поиска минимального роста среди трёх человек
{
if (aData.GetHeight() < height && aData.GetHeight() < bData.GetHeight())
return aData;
else if (bData.GetHeight() < height && bData.GetHeight() < aData.GetHeight())
return bData;
else
return this;
}
}
class fromSmToInch
{
public static double ToInch(MyData SmData)
{
return SmData.GetHeight() / 2.54;
}
}
class LName // находим имя человека с наименьшим ростом
{
public static string gName(MyData SmName)
{
return SmName.GetName();
}
}
}Решение задачи: «Можно ли сделать код рациональней?»
textual
Листинг программы
public static double MaxHeight(MyData first, MyData second, MyData third) {
return Math.Max(first.Height, Math.Max(second.Height, third.Height));
}
public static double MinHeight(MyData first, MyData second, MyData third) {
return Math.Min(first.Height, Math.Min(second.Height, third.Height));
}