Tôi đang viết một API để tạo hình dạng hình học và tôi đang gặp một số khó khăn khi đặt tên cho các phương thức của mình.Cần tư vấn về cách đặt tên cho các phương thức
Hãy lấy một trường hợp đơn giản: Tạo vòng kết nối. Hầu hết chúng ta có thể quen thuộc với một phương pháp như graphics.drawEllipse(x, y, w, h)
. Để vẽ một vòng tròn, bạn cần biết tọa độ trên cùng bên trái và chiều rộng và chiều cao của vòng tròn.
API của tôi nhằm giúp nhà phát triển dễ dàng vẽ hình dạng bằng nhiều thông tin khác nhau mà không cần phải làm nhiều toán - điều này không quan trọng đối với vòng kết nối, nhưng phức tạp hơn đối với các hình dạng khác. Ví dụ, bạn cũng có thể vẽ một vòng tròn cho tọa độ trung tâm và bán kính của nó, hoặc các tọa độ bên trái và dưới cùng bên phải.
Vì vậy, tôi có một lớp Circle
với các phương pháp nhà máy như:
Circle.createWithCenterAndRadius(cx, cy, r)
Circle.createWithBoundingBox(x1, y1, x2, y2)
Circle.createWithWidthAndHeight(x, y, w, h)
tôi cảm thấy như có thể có một "mã mùi" ở đây, nhưng tôi không chắc chắn. Một mặt, các phương pháp nhà máy này nhất thiết là mô tả. Mặt khác, tôi có thể xem xét những tên phương pháp này ngoài tầm kiểm soát. Ví dụ, làm thế nào tôi sẽ đặt tên một phương pháp nhà máy Triangle tạo ra một tam giác cho một điểm, chiều dài của một bên, một góc, và chiều dài của một bên khác? Triangle.createWithPointSideAngleAndSide(x, y, side1, angle, side2)
? Có phải đó chỉ là điều ác?
Nếu bạn sử dụng API này, các tên phương thức như thế này có phù hợp với bạn không? Bạn có lời khuyên về cách tôi có thể làm cho tên phương pháp trở nên lành mạnh hơn?
bạn đã làm gì với? – eglasius
Tôi đang thay đổi các phương thức để đặt tên 'từ', giống như trong bài đăng của Jason. Tôi đang loại bỏ một số 'không cần thiết', theo nhận xét của Joe_M về bài đăng của kevchadder. Tôi đã xem xét ý tưởng giao diện thông thạo của bạn; Tôi đang sử dụng Java, do đó, không có tham số được đặt tên. Tôi thích ý tưởng của Slim, xem nó có khả thi hay không. –
Và tôi có kế hoạch theo dõi khi tôi hoàn tất bản dự thảo API của mình, tôi sẽ sớm có. –