Какая функция лучше с точки зрения читабельности:
Я не слишком хорошо помню Visual Basic, но во второй функции нет способа проверить themember
, чтобы увидеть, является ли он пустым напрямую, вместо того, чтобы проходить через него? Некоторое имя метода, например, "IsEmpty".
Предполагая, что есть, вы можете изменить код во втором примере просто на 2 строки:
Dim themember As MembershipUserCollection = Membership.FindUsersByName(arg, 0, 1, 1)
' Check if themember is empty, return true or false appropriately
В этом случае вторая функция будет намного лучше в том смысле, что ее легче читать.
Какая функция лучше с точки зрения эффективности:
Невозможно даже угадать, не зная подробностей FindUsersByName
или GetAllUsers
, но я бы предположил, что вторая функция работает быстрее (поскольку она переносит работу на определенную функцию, предназначенную для нее).
Однако это очень грубое предположение . Единственный правильный способ ответить на этот вопрос - реализовать два и запустить тесты на обоих, чтобы выяснить, что быстрее.
В любом случае, разница вряд ли будет существенной, но если вам действительно все равно, вам обязательно нужно рассчитать время каждого решения.