Như đã lưu ý trong các bình luận của @ benjamin-gruenbaum, đây được gọi là bẫy Boolean:
Nói rằng tôi có một chức năng như thế này
UpdateRow(var item, bool externalCall);
và trong bộ điều khiển của tôi, giá trị đó externalCall
sẽ luôn luôn ĐÚNG. Cách tốt nhất để gọi chức năng này là gì? Tôi thường viết
UpdateRow(item, true);
Nhưng tôi tự hỏi mình, tôi có nên khai báo boolean không, chỉ để cho biết giá trị 'thật' đó là gì? Bạn có thể biết rằng bằng cách xem khai báo của hàm, nhưng rõ ràng nó nhanh hơn và rõ hơn nếu bạn vừa thấy một cái gì đó như
bool externalCall = true;
UpdateRow(item, externalCall);
PD: Không chắc câu hỏi này có thực sự phù hợp ở đây không, nếu không, tôi có thể lấy thêm thông tin về vấn đề này ở đâu?
PD2: Tôi không gắn thẻ bất kỳ ngôn ngữ nào vì tôi nghĩ đó là một vấn đề rất chung chung. Dù sao, tôi làm việc với c # và câu trả lời được chấp nhận hoạt động cho c #
data CallType = ExternalCall | InternalCall
trong haskell chẳng hạn.