Вы можете стремиться к производительности, но в реальном мире, где проекты настолько велики, и вы не просто человек, работающий над этим.
Я бы сказал, что удобочитаемость и удобство обслуживания должны иметь преимущество перед производительностью, пример, который вы привели, не следует за инкапсуляцией.
Рекомендуется, чтобы один метод выполнял только одно и имя метода должно отражать одну вещь
Иногда вы можете не следовать ей и go за производительность, но только в тех случаях, когда производительность заметна.
И вы, как правило, только получить заметную разницу только тогда, когда сложность времени отличается некоторой степенью, такой как O (n), O (n 2 )
, хотя второй, кажется, работает быстрее, действительно, но оба они все еще называются линейными, потому что O (n) + O (n) не составляет 2 * O (n)
В коротких компьютерах в наши дни слишком быстро, вы не должны отказываться от читаемости и удобства обслуживания для незначительное повышение производительности.
И ваш пример - крайний случай, в большинстве случаев вы не встретите такого рода вещи, подумайте, нужна ли вам только сумма, или можете только max, вы будете определять еще два метода, в противном случае вы получите две вещи, когда попросите один, и это тоже не очень хорошо для производительности.
Это также зависит от того, что вы собираетесь делать большую часть раз