Мой коллега изменил этот код:
private void btnGeneral_Click(object sender, RoutedEventArgs e)
{
Button button = (Button)e.OriginalSource;
Type type = this.GetType();
Assembly assembly = type.Assembly;
string userControlFullName = String.Format("{0}.{1}", type.Namespace, button.Name);
UserControl userControl = (UserControl)assembly.CreateInstance(userControlFullName);
}
к этому коду:
private void btnGeneral_Click(object sender, RoutedEventArgs e)
{
Button button = (Button)e.OriginalSource;
Type type = this.GetType();
Assembly assembly = type.Assembly;
UserControl userControl = (UserControl)assembly.CreateInstance(String.Format("{0}.{1}", type.Namespace, button.Name));
}
говорит, что вам не нужно создавать переменную, если она будет использоваться только один раз.
Мой ответ состоял в том, что создание бывших в употреблении переменных является хорошей практикой, поскольку:
- функционирует как и уменьшает комментарии (ясно, что такое "userControlFullName")
- облегчает чтение кода, т. Е. Большая часть вашего кода "читается как английский"
- избегает сверхдлинных операторов, заменяя их части понятными именами переменных
- легче отлаживать, так как вы можете навести курсор мыши на имя переменной, и в случаях, например, PHP-программирование без отладчиков, проще выводить эти имена переменных, чтобы получить их значения
Аргументы против этого способа "больше строк кода", "ненужные переменные" - это аргументы, облегчающие жизнь компилятору, но без значительной скорости или экономии ресурсов.
Кто-нибудь может подумать о каких-либо ситуациях, когда не следует создавать когда-то использованные имена переменных?