Я замечаю шаблон, когда я программировал C++ и backend (на C# или на любом языке), все мои классы аккуратные и аккуратные. Недавно я заметил, что весь мой код находится в классе, и у меня буквально есть> 50 функций в нем. Теперь я понимаю его, потому что я делаю пользовательский интерфейс. Если бы я мог их разделить по страницам или формам/диалогам, у меня были бы файлы LOT MORE, больше строк кода и более длинная строка кода. Если я их отделяю, я получаю ту же проблему (больше файлов, строк, более длинных строк). Очевидно, что чем меньше строк, тем лучше (меньше кода = меньше для отладки, изменения или прерывания во время обслуживания).Как мне создавать классы при выполнении пользовательского интерфейса?
Этот конкретный проект представляет собой 5k строк с 2k из Интернета или библиотек. Все мои файлы .cs: < 1k строк. Является ли это приемлемым, хотя у меня есть 50 + функций в одном классе?
Бонус: Я замечаю, что большинство из этих функций вызывается только один раз. и поместить определенные блоки кода (например, одна функция делает два вызова в db), поскольку их собственная функция затрудняет редактирование, поскольку они делятся между файлами и этим значением функции шара. Итак, я вроде как не знаю, что делать. Я создаю больше классов, чтобы уменьшить количество функций (для каждого класса, он будет увеличивать вызовы функций в целом и уже большинство из них вызывается только один раз)? Как мне создавать классы, выполняющие интерфейс/пользовательский интерфейс?
Не беспокойтесь о слепых Qty's (# строк, # функций). Пройдите код и рефакторинг. Применяйте DRY, единую ответственность и другие принципы для хорошего OO. Ищите и убивайте антипаттеров (E.G. возможный класс богов). Что касается пользовательского интерфейса, делающего ваш код грязным, просмотрели ли вы MVC или MVVM? N-Tier или хорошо спланированный API также могут привести вас к планированию вашего бэкэнда немного лучше. Первая итерация, вы можете в конечном итоге с тонны функциональности, привязанной к событию нажатия кнопки, по сути. Но вот почему вы рефакторинг. У меня был успех с TDD и red-green-refactor, благодаря чему мой бэкэнд был чистым. –
@ P.Brian.Mackey: Я действительно не вижу, как я буду реактором. В прошлом я смотрел MVC, и мне это не нравилось. MVVM выглядит так, как будто функция шара/код/строка подсчитывается как сумасшедшая –
@ acidzombie24 - MVC, MVVM, ориентированная на обслуживание ... и т. Д. Да, они добавляют больше строк кода. Основное внимание следует уделить ремонтопригодности. Можете ли вы читать, отлаживать и тестировать код? Не, сколько строк кода я пишу. –