2010-06-14 41 views
32

Tôi có bảng 'dịch vụ' và mô tả cột sau như sau
Đặt tên cột boolean trong bảng cơ sở dữ liệu

  1. là xác nhận cần phải nhập cho dịch vụ?
  2. Yêu cầu kích hoạt email của người dùng cho dịch vụ?
  3. Yêu cầu kích hoạt thiết bị di động của người dùng cho dịch vụ?

Tôi ngần ngại trong việc đặt tên các cột như sau

IsVerificationRequired 
IsEmailActivationRequired 
IsMobileActivationRequired 

hoặc

RequireVerification 
RequireEmailActivation 
RequireMobileActivation 

tôi không thể xác định cách mà là Vì vậy, tốt nhất, là một trong những gợi ý trên tên là tốt nhất hoặc là có những cái khác tốt hơn?

Trả lời

33

tôi sẽ (và làm) sử dụng "IsVerificationRequired"

tôi cố gắng thêm một số ý nghĩa cho tên cột của tôi vì vậy nó rõ ràng (ValueDate, InsertedDateTime, IsActive, HazCheezBurger, ProductName vv). "Isxxxx" ngụ ý có/không ví dụ như không suy nghĩ bạn chỉ có 2 trạng thái không giống như "ProductName".

+0

+1 - Tôi có cùng cách tiếp cận – AdaTheDev

+1

+1, Isxxx cho biết rõ ràng đó là một boolean. –

4

tôi sẽ chọn VerificationRequired, EmailActivationRequired, vv

Cơ sở dữ liệu là ảnh chụp của nhà nước, vì vậy nói trên tên cột đi tốt hơn so với những người bạn đã đề cập trong quan điểm của tôi.

+0

Tôi đồng ý. Các tên cột dưới dạng một câu hỏi có vẻ như quá mức cần thiết. Nó sẽ giống như đặt tên FirstName và LastName cột "WhatIsTheFirstName" và "WhatIsTheLastName". Rõ ràng là ngớ ngẩn. – MJB

+2

nhưng tôi nghĩ rằng trong một số trường hợp như vậy mà cần một trong hai câu hỏi đúng hay sai là rất dễ đọc mà xác định đúng hay sai không phải bất kỳ giá trị khác –

+1

@MJB: Không ngớ ngẩn. Bạn cũng có thể có DateVerificationRequired! Tôi thường thay thế các trường Boolean theo trường ngày nếu có thêm thông tin bổ sung (và dĩ nhiên nếu giá trị có thể thay đổi). Trong trường hợp đó một Null cho biết điều kiện chưa được đáp ứng (chưa). –

13

Chạy với các biến thể Is hoặc ít nhất là hoán đổi số Require thành Requires. Booleans nên được phrased như câu hỏi. Có, Có, Có, Nên, họ đang tất cả tiền tố tốt cho Boolean chức năng/cột. Xem 1370840 để biết thêm đối số về số

+1

Đó là một câu hỏi thú vị để tham khảo vì nó là nhiều hơn về quy ước đặt tên cho các phương thức getter, chứ không phải các biến. Tôi không biết về các ngôn ngữ khác nhưng trong Java, quy ước tôi đã luôn luôn nhìn thấy là sử dụng tiền tố "là" cho getter nhưng không phải là biến. Vì vậy, đối với một cơ sở dữ liệu, bạn đang xem xét một tên cột giống như một lĩnh vực hoặc một getter? ;) – spaaarky21

1

Tôi sẽ tìm một đối số phù hợp với cú pháp bạn đang sử dụng trong dự án hiện tại của bạn. Hoặc là một trong những tốt là vì họ mô tả những gì biến chứa, điều duy nhất bạn cần phải lo lắng là bạn giữ cùng một tiêu chuẩn đặt tên cho tất cả các dự án của bạn. Nếu bạn chưa quyết định bất kỳ tiêu chuẩn đặt tên nào cho dự án của bạn, cái đầu tiên sẽ tốt hơn vì nó là cái gần hơn của tiêu chuẩn đặt tên Java Bean, cái mà rất nhiều nhà phát triển được sử dụng.

Các vấn đề liên quan