Tôi không thích ví dụ không. 1, vì tên chung thứ i.
conditionMet
dường như không phải là chung chung, vì vậy nó là viết tắt của một điều kiện cụ thể? Như
isAdult () = {
age >= 18
}
Điều này sẽ ổn thôi. Đó là một sự khác biệt về ngữ nghĩa, trong khi
isAtLeast18 () { age >= 18; }
sẽ không tốt cho tôi
Có lẽ nó thường được sử dụng và có thể là đối tượng để thay đổi sau này:
getPreferredIcecream () { return List ("banana", "choclate", "vanilla", "walnut") }
cũng tốt Sử dụng nó nhiều lần, bạn chỉ cần thay đổi một địa điểm duy nhất, nếu bạn phải - có thể đánh kem có thể vào ngày mai.
isXYZ (Foo foo) { foo.x > 15 && foo.y < foo.x * 2 }
không phải là nguyên tử, và sẽ cung cấp cho bạn một cơ hội thử nghiệm tốt đẹp.
Nếu bạn cần vượt qua một chức năng, tất nhiên, vượt qua bất cứ điều gì bạn thích, và viết các chức năng trông ngớ ngẩn khác.
Nhưng nói chung, tôi thấy nhiều chức năng hơn, quá dài, so với các chức năng quá ngắn.
Từ cuối cùng: Một số chức năng chỉ có vẻ phù hợp, vì chúng được viết quá dài dòng:
function lessThan (a, b) {
if (a < b) return true else return false;
}
Nếu bạn thấy, nó giống như
return (a < b);
bạn sẽ không có vấn đề gì với
localLessThan = (a < b);
thay vì
localLessThan = lessThan (a, b);
Assert.AreEqual<int>(expected, actual, message, arg1, arg2, arg3, ...);
. Thứ hai là tốt như là. Tôi có khả năng sẽ bao gồm một cờ bool tùy chọn để ra lệnh có nên ném ngoại lệ / v.v. trong trường hợp gọi lại không phải là một chức năng.