Tôi đang bắt đầu phát triển trên một ứng dụng không tầm thường mà chúng tôi đang xem xét GraphQL. Khi làm việc trên dự thảo ban đầu của lược đồ của chúng tôi, tôi đã trở thành một chút tê liệt cố gắng thiết lập quy ước đặt tên sẽ mở rộng khi sản phẩm đáo hạn. Tôi thực sự sẽ đánh giá cao một số cái nhìn sâu sắc từ những ai đã phải phát triển một lược đồ và chạy vào, hoặc thành công tránh được những ngõ cụt hoặc mâu thuẫn:Một số phương pháp hay nhất về lược đồ GraphQL đặt tên là gì?
là nó thường hữu ích/thành ngữ để giữ cái tên "Giao diện" trong tên của một giao diện? Ví dụ:
Profile
hoặcProfileInterface
có thích hợp hơn trong ứng dụng lớn không?interface ProfileInterface { # fields here... } type UserProfile implements ProfileInterface { # implemented fields here... }
Có phải chung để chỉ định các giá trị đơn lẻ là "hằng số"?
enum GeoJSONFeatureTypeConstant { feature } interface GeoJSONFeatureInterface { id: ID type: GeoJSONFeatureTypeConstant! geometry: GeoJSONGeometryInterface! properties: GeoJSONProperties }
Có thực hành tốt nhất để khai báo tất cả-hoặc-không có gì
object
s nhưscalar
hoặctype
, và đâu là đường vẽ giữa hai? Hãy tưởng tượng một loạiPoint
thường được biểu diễn dưới dạng mảng[x,y]
; mà sẽ thành ngữ hơn?scalar Point type Point { x: Float y: Float }
- Bất kỳ thực tiễn tốt nhất khác liên quan cụ thể đến quy ước đặt tên hoặc khai báo loại trong GraphQL khó biết mà không có kinh nghiệm.
Cảm ơn bạn trước!
Câu hỏi này đã không đạt được đà tôi thích, vì vậy tôi sẽ bắt đầu đăng các đoạn mã hữu ích như tôi tìm thấy, điều này có thể phát triển thành câu trả lời.
đặt tên các loại đầu vào với đầu vào ở cuối dòng là một quy ước hữu ích, bởi vì bạn sẽ thường muốn cả một loại đầu vào và một loại sản lượng mà là hơi khác nhau cho một đối tượng khái niệm duy nhất.
http://graphql.org/graphql-js/mutations-and-input-types/
Đây là những điều tuyệt vời và liên kết của bạn hoàn hảo. Cảm ơn. –