Rất nhiều câu trả lời tuyệt vời ở đây. Tôi muốn thêm hai xu của tôi.
Đối tượng tham số là một khởi đầu tốt. Nhưng còn nhiều điều có thể làm được. Hãy xem xét những điều sau (ví dụ về ruby):
/ 1 / Thay vì chỉ nhóm tất cả các tham số, hãy xem liệu có thể nhóm các tham số có ý nghĩa hay không. Bạn có thể cần nhiều hơn một đối tượng tham số.
def display_line(startPoint, endPoint, option1, option2)
có thể trở thành
def display_line(line, display_options)
/ 2 / Đối tượng tham số có thể có số lượng thuộc tính ít hơn số lượng tham số ban đầu.
def double_click?(cursor_location1, control1, cursor_location2, control2)
có thể trở thành
def double_click?(first_click_info, second_click_info)
# MouseClickInfo being the parameter object type
# having cursor_location and control_at_click as properties
Việc sử dụng như vậy sẽ giúp bạn khám phá các khả năng thêm hành vi có ý nghĩa vào các đối tượng tham số này. Bạn sẽ thấy rằng chúng loại bỏ mùi Lớp dữ liệu ban đầu của chúng sớm hơn để bạn thoải mái hơn. : -)