1 Naming of supporting types
Adrian Hall редактировал(а) эту страницу 2019-10-21 13:44:02 -07:00

Link to video: Microsoft Stream

Notes

Ted's proposal (from Storage):

  • ClientOptions for modifying the client
  • RequestOptions for modifying the HTTP request

Discussion

  • Input types:

    • Optional parameters for a query: FooOptions
    • Restrictions on an operation: FooConditions (removed per arch board)
  • Input/output types:

    • Required for main champion scenario: Foo
    • Less important details: FooProperties
      • Board recommendation: FooDetails
      • The things that go in the model vs. in the details should be consistent across languages.
  • Output types:

    • Enumerator - only if the list operation returns a subset of data in Foo: FooItem
    • Output from multiple operations:
      • Board recommendation: Rename to <operation>Result, and use one per operation, where operation is the verb-phrase.
      • Only use Result when it's a result from an operation.
      • If multiple operations can share a result, make sure it has a verb (e.g. ContainerChangeResult)
      • NB from @tg-msft - Will be hard to get done for storage-blob
  • KC doesn't like FooConditions - they are options (JR&JG agree)

  • In the case of storage-blobs, the progress handler, access tier, etc. are all moved to an UploadOptions object.

  • For BlobDownloadInfo - KC doesn't like BlobType in the type (side-note only)

  • Java has a BlockBlobItem instead of BlobContentInfo - will need to chase to get on the same page.