Azure / azure-sdk

This is the Azure SDK parent repository and mostly contains documentation around guidelines and policies as well as the releases for the various languages supported by the Azure SDK.
http://azure.github.io/azure-sdk
MIT License
487 stars 297 forks source link

Go Guidelines: Fit content to new Guidelines structure #2115

Closed annelo-msft closed 7 months ago

annelo-msft commented 3 years ago

Description

Per the MQ Guidelines initiative to fill gaps in the guidelines across languages, we are moving to a new common structure for the guidelines and calling out areas where there are content gaps -- i.e. one or more of the other Tier 1 language guidelines have guidance that is not language-specific that is not represented in this language's guidelines.

Note

For Implementation, the below structure is based on .NET content. It is intended to provide implementation details for things that aren't visible in the public API, with a TOC that largely maps to the API Design section in the Design TOC, with sections filled for areas where you already have content written. Feel free to reach out with any questions.

New Structure

(Numbers for ease of reading here, but won't be shown in the guidelines page TOC)

For further details, please see the restructured .NET guidelines here.

Design

  1. Introduction

    1. Design Principles
    2. General Guidelines
    3. Non-HTTP Libraries
  2. Azure SDK API Design

    1. Service Client
      1. Service Client Constructors
        1. Client Configuration
        2. Setting the Service Version
        3. Sync and Async
        4. Client Immutability
      2. Service Methods
        1. Naming
        2. Return Types
        3. Cancellation
      3. Service Method Parameters
        1. Options Parameters
        2. Parameter Validation
      4. Methods Returning Collections (Paging)
      5. Methods Invoking Long Running Operations
      6. Conditional Request Methods
      7. Hierarchical Clients
    2. Supporting Types
      1. Model Types
      2. Enumerations
      3. Using Azure Core Types
      4. Using Primitive Types
    3. Exceptions (Errors)
    4. Authentication
    5. Namespaces
    6. Support for Mocking
  3. Azure SDK Libraries (Packages)

    1. Packaging
      1. Service-Specific Common Libraries
    2. Versioning
    3. Dependencies
    4. Native Code
    5. Doc Comments
  4. Repository Guidelines

    1. Documentation Style
    2. README
    3. Samples

Implementation

  1. API Implementation
    1. Service Client
      1. Service Methods
        1. HttpPipeline
        2. HttpPipelinePolicy/Custom Policies
      2. Service Method Parameters
        1. Parameter Validation
    2. Supporting Types
      1. Serialization
      2. Enumeration-like Structs
  2. SDK Feature Implementation
    1. Configuration
    2. Logging
    3. Distributed Tracing
    4. Telemetry
  3. Testing
  4. Language-specific other
annelo-msft commented 3 years ago

@salameer FYI

github-actions[bot] commented 7 months ago

Hi @annelo-msft, we deeply appreciate your input into this project. Regrettably, this issue has remained inactive for over 2 years, leading us to the decision to close it. We've implemented this policy to maintain the relevance of our issue queue and facilitate easier navigation for new contributors. If you still believe this topic requires attention, please feel free to create a new issue, referencing this one. Thank you for your understanding and ongoing support.