Какой хороший способ назвать метод, который проверяет, нужно ли делать X, и делает ли он это в случае необходимости?
Например, как назвать метод, который обновляет список пользователей, если в систему вошли новые пользователи? UpdateListIfNeeded
кажется слишком длинным, в то время как просто UpdateList
подразумевает, что каждый раз выполняется дорогая и ненужная операция. EnsureListUpdated
вариант тоже.
C # имеет bool TryXXX(args, out result)
шаблон (например int.TryParse(str, out num)
) , чтобы проверить , если X является возможно и сделать это, но это немного отличается.
RefreshUserList()
во времяLoginUser()
иLogoutUser()
, а не во время, скажемGetUser()
(где список должен быть уже обновлен), то обязательно примените приведенный ниже совет.Ответы:
Я склонен использовать
Ensure
. Это означает, что нужно позаботиться о чем-то, однако это необходимо сделать. Если это уже хорошо, просто проверьте это, и мы сделали. В противном случае, сделай это. В любом случае, просто убедитесь, что это сделано .источник
Мое предпочтение
UpdateList
. Если ничего не нужно делать, пусть будет так. Расходы всегда должны быть сведены к минимуму, поэтому, еслиUpdateList
вы делаете больше, чем нужно, что-то не так в его реализации.По сути, это глагол, который говорит вам, что метод должен делать.
CalculateX
всегда должен пересчитывать X.GetY
должен всегда возвращать Y, но выполнять работу по его извлечению только при необходимости. Аналогично,UpdateZ
запрашивает обновление Z, предполагая, что это сделано наиболее эффективным способом.источник
Позвони мне, может быть"
Кооптировал из фрагментов Haskell, которые я видел, попробуйте
источник