Я действительно ненавижу перегруженные функции, особенно когда они звонят друг другу. На самом деле трудно понять, кто звонит, который не очень внимательно смотрит на подпись функции. Я наткнулся на один пример, который оказался достаточно коротким, чтобы опубликовать его как вопрос.Считываемость перегруженных функций
Хотелось бы высказать некоторые замечания по этому вопросу.
Кто-нибудь разделяет мои чувства?
Каковы альтернативы перегрузки метода?
В целях удобочитаемости, лишь предоставляет версию, что на самом деле делает работу (напр. OnPropertyChanged (PropertyChangedEventArgs арг) и заставить все использовать эту единую версию хорошую идею?
protected void OnPropertyChanged(string propertyName)
{
OnPropertyChanged(new PropertyChangedEventArgs(propertyName));
}
protected void OnPropertyChanged(PropertyDescriptor property)
{
OnPropertyChanged(new TPropertyChangedEventArgs(property));
}
protected void OnPropertyChanged(string propertyName, object oldValue, object newValue)
{
OnPropertyChanged(new TPropertyChangedValueEventArgs(propertyName, oldValue, newValue));
}
protected void OnPropertyChanged(PropertyDescriptor property, object oldValue, object newValue)
{
OnPropertyChanged(new TPropertyChangedValueEventArgs(property, oldValue, newValue));
}
protected void OnPropertyChanged(PropertyChangedEventArgs args)
{
if (mSuspendPropertyChanged == 0)
{
PropertyChanged.Raise(this, args);
}
}
Я голосую, чтобы закрыть этот вопрос как не по теме, потому что это мнение основано. – hagrawal
@hagrawal Да, это мнение основано. На самом деле это вопрос, чтобы просить мнения. Считываемость - это субъективная вещь. Судя по тому, легко ли читать фрагмент кода или не требует опроса мнений. –
Посмотрите страницу справки, в которой описаны типы вопросов, которые вы не задали: [help/dont-ask]. На этой странице вы нажимаете много пуль. –