Rất đơn giản câu hỏi:Preferred Python (hoặc bất kỳ ngôn ngữ nào, thực sự) style: Nên sử dụng khác khi nào nếu trả về?
Cụ thể trong Python (kể từ Python thực sự có "khuyến khích mạnh mẽ" hướng dẫn phong cách quy định tại PEP 8, nhưng thực sự này áp dụng đối với bất kỳ ngôn ngữ), nên một chức năng với một khoản if
luôn lợi nhuận có thay thế mã trong mệnh đề else
hay không? Nói cách khác, func_style_one()
và func_style_two()
trong đoạn mã sau là (rõ ràng) chính xác tương đương:
def func_style_one():
if some_conditional_function():
do_something()
return something()
else:
do_something_else()
return something_else()
def func_style_two():
if some_conditional_function():
do_something()
return something()
do_something_else()
return something_else()
Rõ ràng, phong cách tốt nhất và có thể đọc được hầu hết phụ thuộc vào tình hình, và ý kiến sẽ khác nhau rất nhiều trên đó là tốt hơn, nhưng tôi yêu cầu được cộng đồng Python cốt lõi ưu tiên đặc biệt. (ví dụ: Thư nào được sử dụng thường xuyên hơn trong thư viện chuẩn, tất cả những thứ khác bằng nhau?)
Tôi có xu hướng chọn câu hỏi thứ hai –
Tôi nghĩ rằng thứ hai là an toàn hơn. Ít có khả năng thay đổi một người khác thành một elif trong một trình tái cấu trúc và vô tình tạo một đường dẫn mã không có giá trị trả về. –
Nếu tất cả số tiền tương đương với số tiền còn lại sẽ trả về, thì đầu tiên. Nếu người khác tính toán bổ sung - thứ hai. –