Ситуация
Это концептуальный вопрос, и я постараюсь быть настолько ясным, насколько возможно. Не читайте вопрос, если у вас нет интереса к концептуальным вопросам.Использует обработчики событий как «многоразовый код»?
Хорошо, поэтому есть предварительный код, над которым я работаю, и в этом коде они повторно используют обработчики событий как некоторую форму ООП.
Пример некоторого обработчика событий:
protected void btnSomeButton_Click(object sender, Eventargs e)
{
//SOME LOGIC
}
Пример «повторное использование» вышеуказанного обработчик событий:
Примечания: Это называется в произвольной точке в Web App с точкой повторного использования // НЕКОТОРНОЙ ЛОГИКИ.
{
btnSomeButton_Click(null, null);
}
Некоторые моменты для ясности
- Описанный выше метод работает.
- Обработчик событий работает в нормальном смысле.
Что я предполагаю, что должен быть сделан
По моему рассуждению правильного способа сделать это было бы создать отдельный метод и вызывать этот метод при попытке повторного использования кода. (Вы можете исправить меня)
protected void btnSomeButton_Click(object sender, EventArgs e)
{
somefunction();
}
и повторно использовать код:
{
somefunction()
}
метод является что-то вроде этого:
void somefunction()
{
//SOME LOGIC
}
на вопрос | Моя проблема
Я хочу, чтобы сообщить начальству, почему я хочу изменить этот код. Все, что они видят, это код работает, «отлично», но, глядя на этот стиль кодирования, у меня болят глаза.
Какова концептуальная причина отсутствия кодирования в способе кодирования первого примера? Или это приемлемо, и я должен просто оставить его?
Что такое концептуальная причина: симметрия и согласованность (один обработчик вперед, другой - нет). Но это также означает, что, по-видимому, изменения для одного обработчика событий влияют на другое. Вызов другого метода - это индикатор общего кода. Однако: это очень субъективная область. – Richard
Я согласен, что btnSomeButton_Click (null, null) - это быстрое и грязное кодирование, даже если я использую его иногда. Но трудно найти сильную аргументацию для обоснования (малого) реинжиниринга. – Graffito
«У начальников» всегда есть совершенно другая точка зрения: разработчик тратит время на создание стилистических изменений вместо того, чтобы работать на спринте, навсегда лишен их списка полезных действий. Просто внесите изменения, если у вас есть * другая причина для изменения файла исходного кода. –