Здесь необходимо найти компромисс между производительностью и модульностью.
Производительность - Вероятно, когда вы делаете три метода, это приводит к увеличению затрат на сохранение текущей функции в стеке, выделение нового фрейма функции, выполнение вызова и т. Д. становятся все быстрее и крупнее, и сам факт того, что вы решили писать код на платформе .NET, говорит сам за себя. Производительность для такого рода тривиального решения не имеет большого значения, поэтому я предпочел бы сделать его модульным.
Модульность - Метод точно выполняет одну вещь, и его могут легко понять другие программисты, даже не понимая, как вы думаете, это лучший код в долгосрочной перспективе. Представьте себе стоимость ошибок, исправлений, тестирования, времени, которое нужно раз за разом для понимания вашего кода разными разработчиками в разные моменты времени в будущем. Если у вас есть метод / функция, которая является очень модульной, которая может быть протестирована изолированно, она также имеет больше шансов на повторное использование по сравнению со сложной функцией, поскольку другие разработчики уверены, что они понимают ваш API / код или оба.
Это личное мнение, и я бы склонялся к снижению затрат на техническое обслуживание в долгосрочной перспективе, более широкому повторному использованию, проверяемости по сравнению с производительностью.
Я бы разбил функцию, которую вы реализуете с помощью x, y, z, и сделал бы как можно больше методов. Это следует простому простому правилу: Каждый метод выполняет одну работу, не более и не менее . Затем вы можете составить эти методы, чтобы получить все необходимые функции для A, B, C.