小编Mik*_*cci的帖子

什么是GraphQL模式命名最佳实践?

我正在开发一个非常重要的应用程序,我们正在考虑使用GraphQL.在处理模式的初始草案时,我变得有点瘫痪,试图建立随着产品的成熟而扩展的命名约定.我真的很感激任何不得不发展架构并遇到或成功避免死角或不一致的人的一些见解:

  1. 在接口名称中保留名称"Interface"通常是有用/惯用的吗?例如,在大型应用程序中是优选Profile还是ProfileInterface优先?

    interface ProfileInterface {
      # fields here...
    }
    
    type UserProfile implements ProfileInterface {
      # implemented fields here...
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将单枚举值指定为"常量"是否常见?

    enum GeoJSONFeatureTypeConstant {
      feature
    }
    
    interface GeoJSONFeatureInterface {
      id: ID
      type: GeoJSONFeatureTypeConstant!
      geometry: GeoJSONGeometryInterface!
      properties: GeoJSONProperties
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 最好的做法是将全有或全无objects 声明为scalar或者type,两者之间的界线在哪里?想象一下Point通常表示为数组的类型[x,y]; 哪个更像是风骚?

    scalar Point
    
    type Point {
      x: Float
      y: Float
    }
    
    Run Code Online (Sandbox Code Playgroud)
  4. 与GraphQL中的命名约定或类型声明特别相关的任何其他最佳实践,如果没有经验将很难知道.

提前致谢!


这个问题没有得到我想要的动力,所以我会在发现它们时开始发布有用的片段,这可能会演变成各种各样的答案.

在末尾使用Input命名输入类型是一种有用的约定,因为对于单个概念对象,您通常需要输入类型和输出类型略有不同.

http://graphql.org/graphql-js/mutations-and-input-types/

schema idioms reactjs graphql

31
推荐指数
2
解决办法
8045
查看次数

使用位置:固定元素在Safari 7上滚动时,页面的某些部分是不可见的

在Mac和iOS上的Safari 7中存在一个相当大的错误,很难找到任何东西,但很容易修复.

在使用position:fixed的某些情况下,Safari 7在滚动时无法绘制部分页面.这可以在http://ruelculture.com/glitchy.html上看到,点击箭头,稍等一会然后尝试向上滚动.

css safari mobile-safari ios7

8
推荐指数
1
解决办法
2613
查看次数

标签 统计

css ×1

graphql ×1

idioms ×1

ios7 ×1

mobile-safari ×1

reactjs ×1

safari ×1

schema ×1