Tôi gần như không bao giờ sử dụng toán tử ternary bởi vì bất cứ khi nào tôi sử dụng nó, nó luôn khiến tôi phải suy nghĩ nhiều hơn sau này khi tôi cố gắng duy trì nó.
Tôi muốn tránh tính dài dòng, nhưng khi nó làm cho mã dễ nhận hơn rất nhiều, tôi sẽ tìm kiếm tính dài dòng.
Xem xét:
String name = firstName;
if (middleName != null) {
name += " " + middleName;
}
name += " " + lastName;
Bây giờ, đó là một chút dài dòng, nhưng tôi thấy nó dễ đọc hơn nhiều so với:
String name = firstName + (middleName == null ? "" : " " + middleName)
+ " " + lastName;
hoặc là:
String name = firstName;
name += (middleName == null ? "" : " " + middleName);
name += " " + lastName;
Nó chỉ có vẻ nén quá nhiều thông tin vào quá ít không gian, mà không làm rõ những gì đang diễn ra. Mỗi khi tôi thấy toán tử ternary được sử dụng, tôi luôn tìm thấy một sự thay thế có vẻ dễ đọc hơn nhiều ... thì một lần nữa, đó là một ý kiến cực kỳ chủ quan, vì vậy nếu bạn và đồng nghiệp của bạn thấy rất dễ đọc, hãy tìm nó.