Một chức năng cũng có thể được sử dụng trong một biểu thức. Một chương trình con không thể. Chức năng có thể cho phép đọc mã của bạn tốt hơn so với chương trình con.
Dưới đây là một ví dụ về cách một chức năng có thể làm tăng khả năng đọc:
If AccountIsLocked("JJones") then Msgbox("This account is locked")
chức năng này sẽ được xác định ở đâu đó
public function AccountIsLocked(UserId as string) as boolean
dim usr = uow.AccountRepository.UserInfo(UserId)
return usr.locked
end function
Dưới đây là ví dụ tương tự nhưng được mã hóa với một chương trình con:
CheckIfAccountLocked("JJones")
và ở nơi khác, tiểu mục này được xác định:
public sub CheckIfAccountLocked(UserId)
if uow.AccountRepository.UserInfo(UserId).locked then
msgbox("Account is locked")
end if
end sub
Cũng lưu ý rằng việc kiểm tra giá trị được tách biệt với hành động - điều này góp phần vào việc phân tách nhiệm vụ. Chức năng sẽ cho vay lại khả năng sử dụng lại.
Với VB6 có một số quy tắc lẻ điều chỉnh dấu ngoặc đơn. Nếu không có tham số cho một phụ thì dấu ngoặc đơn là không cần thiết (tôi nghĩ rằng Visual Studio có thể loại bỏ dấu ngoặc đơn). Một cách xung quanh điều này là thêm từ khóa "Gọi" trước phụ của bạn.
Call CheckIfAccountLocked()
vs
CheckIfAccountLocked
Nguồn
2014-11-18 16:33:57
trong excel chỉ 'Dự bị' là có sẵn để giao cho hình dạng trong MsgBox vĩ mô assign. – SAm