не относятся к полям класса. Какой в этом есть профит?
Чтобы тому, кто читает код, было понятно, что твоя функция никак не затрагивает поля класса. Не зависит от них и никак их не меняет. Т. е. это вероятно ещё и чистая функция
а с позиции перфоманса
Да никакой разницы Речь только в чтении кода ну и конечно тот факт, что метод статический, налагает некоторые ограничения, от инстанса его уже не вызвать, что может быть неудобно
this передавать не надо хД
Я бы сказал, что если ты хочешь прям явно сказать, что функция максимально чистая и без побочек, то ставь статик. Если это не принципиально, если главное, что метод делает что-то. а от чего он уже зависит — неважно, то оставляй нестатичным
У меня бывали ситуации, когда пометка static помогла бы мне быстрее понять код, но таких ситуаций меньшинство
Влияние минимально, если вообще будет. Если студия предлагает пометить метод статическим - это сигнал что, возможно, если оно ещё и не трогает статические поля этого класса, было бы неплохо вынести это в отдельный класс. Это просто рефакторинг, не более
Кстати, в тему рефакторинга, да Было как-то, что был метод, зависящий от ровно одного поля, и я переделывал его в статик с этим аргументом, и так было лучше
Обсуждают сегодня