Tôi đang đọc "Mã sạch" và gặp khó khăn trong việc tìm ra cách giữ một số hàm của tôi (thường là các hàm tạo) với MAXIMUM của 3 tham số.Giảm số đối số cho một hàm tạo
Thường thì đối tượng của tôi cần rất nhiều thông tin để làm việc - tôi có nên tạo một hàm tạo nhỏ và sau đó sử dụng các hàm của trình tắt để cung cấp cho họ tất cả thông tin không? Điều này dường như không tốt hơn là chỉ sử dụng một nhà xây dựng lớn.
Ví dụ: tôi có lớp "MovablePatch". Nó cho phép người dùng kéo một hình vuông xung quanh trong một cửa sổ. Nó cần một vài tham số, bao gồm Radius, Color, Renderer, InitialPosition, và Visibility. Hiện tại tôi thu thập tất cả những thứ này từ GUI của tôi và sau đó gọi:
MovablePatch(int radius, Renderer* renderer, Color color, Position initial, bool visibility)
Đây chỉ là một số điều tôi cần trong lớp học này. Bất cứ ai có thể đề nghị làm thế nào khác tôi có thể gói thông tin này để vượt qua để các nhà xây dựng? Tôi không thấy rõ ràng "phá vỡ nó thành những lớp nhỏ hơn" xuất hiện ở đây.
Tra cứu mẫu trình tạo. – Bashwork
Bạn có phải làm theo hướng dẫn đó không? Nếu không, tôi sẽ nói rất nhiều khi bỏ qua nó, nơi nó không rõ ràng làm thế nào để áp dụng nó. Imo nếu sửa đổi để làm theo một hướng dẫn không phải là trực quan nó thường không có giá trị nó để cấu trúc lại mã để đảm bảo các hướng dẫn được theo sau không có vấn đề gì. Đối với giải pháp không liên tục có thể dễ dàng dẫn đến mã phức tạp hơn (và do đó dễ bị lỗi) thậm chí không có khả năng đọc tốt hơn (ví dụ cho điều này là hàm tạo nhỏ được đề cập tiếp theo là các hàm gọi hàm mutator hoặc mô hình trình xây dựng. quên đặt giá trị). – Grizzly
Sử dụng một 'cấu trúc' đơn giản cho các thuộc tính liên quan để được thông qua như một tham số đã được thực hiện kể từ trước khi tôi được sinh ra, tôi khá chắc chắn. – AJG85