Một đồng nghiệp của tôi và tôi đã thảo luận về vấn đề thực hành tốt nhất sau đây.
Hầu hết các chức năng/phương pháp đều bắt đầu bằng một số kiểm tra tham số.Phong cách nếu: làm tổ hay không làm tổ
Tôi ủng hộ phong cách sau, tránh làm tổ.
if (parameter one is ugly) return ERROR;
if (parameter two is nonsense || it is raining) return ERROR;
// do the useful stuff
return result;
Anh ấy đến từ nền lập trình hàm/logic hơn, thích điều sau, vì nó làm giảm số điểm thoát khỏi hàm.
if (parameter one is ok) {
if (parameter two is ok && the sun is shining) {
// do the useful stuff
return result
}
}
return ERROR;
Bạn thích cái nào và tại sao?
Việc sử dụng của điều khoản bảo vệ là để được tư vấn. Kiểm tra quy tắc tái cấu trúc Fowlers: http://www.refactoring.com/catalog/replaceNestedConditionalWithGuardClauses.html - nó biến đổi thứ hai của bạn (lồng nhau) thành đầu tiên (mệnh đề bảo vệ). – Konerak