Tôi thường nhận được các vị trí trong mã của mình, nơi tôi thấy mình kiểm tra một điều kiện cụ thể nhiều lần.
Tôi muốn cho bạn một ví dụ nhỏ: giả sử có một tệp văn bản chứa các dòng bắt đầu bằng "a", các dòng bắt đầu bằng "b" và các dòng khác và tôi thực sự chỉ muốn làm việc với hai dòng đầu tiên. Mã của tôi sẽ trông giống như thế này (sử dụng python, nhưng đọc nó dưới dạng mã giả):
# ...
clear_lines() # removes every other line than those starting with "a" or "b"
for line in lines:
if (line.startsWith("a")):
# do stuff
elif (line.startsWith("b")):
# magic
else:
# this else is redundant, I already made sure there is no else-case
# by using clear_lines()
# ...
Bạn có thể tưởng tượng tôi sẽ không chỉ kiểm tra tình trạng này ở đây, mà còn có thể trong các chức năng khác, v.v.
Bạn có nghĩ nó là tiếng ồn hay nó thêm một số giá trị vào mã của tôi?
elif (line.startsWith("b"))
sao bằng cách này, bạn có thể loại bỏ một cách an toàn các dấu ngoặc đơn trên các điều kiện, chúng không phải là thành ngữ trong Python.
assert()
vào đó để giúp kiểm tra, nhưng vượt quá điều đó có lẽ là quá mức. Điều đó nói rằng, nó sẽ thay đổi tùy thuộc vào tình huống.