Reactjs 什么是GraphQL模式命名的最佳实践?
我开始开发一个非常重要的应用程序,我们正在考虑GraphQL。在编写模式的初稿时,我在尝试建立命名约定时有些不知所措,这种约定将随着产品的成熟而扩展。我非常感谢那些必须发展模式、遇到或成功避免死胡同或不一致的人的一些见解:Reactjs 什么是GraphQL模式命名的最佳实践?,reactjs,schema,graphql,idioms,Reactjs,Schema,Graphql,Idioms,我开始开发一个非常重要的应用程序,我们正在考虑GraphQL。在编写模式的初稿时,我在尝试建立命名约定时有些不知所措,这种约定将随着产品的成熟而扩展。我非常感谢那些必须发展模式、遇到或成功避免死胡同或不一致的人的一些见解: 在接口名称中保留“接口”的名称通常有用/惯用吗?例如,在大型应用程序中,Profile或ProfileInterface更可取吗 interface ProfileInterface { # fields here... } type UserProfile imple
Profile
或ProfileInterface
更可取吗
interface ProfileInterface {
# fields here...
}
type UserProfile implements ProfileInterface {
# implemented fields here...
}
对象
s声明为标量
或类型
,两者之间的界线在哪里?设想一个点
类型,它通常表示为一个数组[x,y]
;哪个更地道
scalar Point
type Point {
x: Float
y: Float
}
这个问题还没有得到我想要的动力,所以我将开始发布一些有用的片段,这些片段可能会演变成各种各样的答案 使用末尾的输入命名输入类型是一种有用的约定, 因为您通常需要一个输入类型和一个输出类型 对于单个概念对象而言,它们略有不同
我思考了同样的问题,希望这对您有所帮助 1.我不认为在每个接口的末尾附加接口是惯用的。最好使用描述性名称。考虑与接口相关的示例。它们不会将接口附加到任何类型 2.枚举只有在存在多个相关值时才有优势。当只有一个可能的值时,我看不出包含type有多大帮助。枚举值也使用与枚举相关的所有大写和下划线命名 3。如果您决定实现标量类型,则由您来验证字段。在这种特定情况下,将点作为类型提供最有意义,因为点可以是二维或三维的。将其定义为类型更具声明性 日期、电子邮件和Url等值是标量类型的常见示例。它们提供语义价值,客户机将知道从这些字段中可以得到什么 下面是与自定义标量相关的示例。 这是一个例子
4。你会发现李·拜伦的文章很有帮助。我不久前发现了这篇文章。我认为没有明确的章节,但最佳实践w.r.t.命名约定在整个教程中传播。这些都很好,您的链接也很完美。谢谢。根据Graphql规范,可以在名称中使用
。
,但在所有示例中都使用了camelCase
。这是否意味着命名约定没有固定的规则?枚举:应该在PascalCase中有它们的类型名,在所有的大写字母中有它们的值名,因为它们类似于常量。资料来源:
scalar Point
type Point {
x: Float
y: Float
}