From be0a78b7c77a0aef97d1fee5b89439f7b96a8cc3 Mon Sep 17 00:00:00 2001 From: "github-merge-queue[bot]" Date: Wed, 17 Apr 2024 08:36:28 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20SRGSSR/r?= =?UTF-8?q?ts-development-guidelines@15b84cb3fd0381a504f5c51a492883e0393c0?= =?UTF-8?q?a3d=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _sidebar.md | 12 ++++++ index.html | 8 +++- sdks/INTRODUCTION.md | 77 ++++++++++++++++++++++++++++++++++++++ sdks/_PLATFORM_TEMPLATE.md | 73 ++++++++++++++++++++++++++++++++++++ 4 files changed, 169 insertions(+), 1 deletion(-) create mode 100644 sdks/INTRODUCTION.md create mode 100644 sdks/_PLATFORM_TEMPLATE.md diff --git a/_sidebar.md b/_sidebar.md index 2435027..78038fe 100644 --- a/_sidebar.md +++ b/_sidebar.md @@ -10,3 +10,15 @@ * [Pull Request Manual](/guides/PULL_REQUEST_GUIDE.md) * [Code of Conduct Guidelines](/guides/CODE_OF_CONDUCT_GUIDE.md) * [Security policy Guidelines](/guides/SECURITY_GUIDE.md) + +**SDKs and Libraries** + +* [Introduction](/sdks/INTRODUCTION.md) + diff --git a/index.html b/index.html index ebaf42b..12a6fc2 100644 --- a/index.html +++ b/index.html @@ -25,12 +25,18 @@ relativePath: true, loadSidebar: true, themeColor: '#00af91', - subMaxLevel: 2 + subMaxLevel: 2, } + + diff --git a/sdks/INTRODUCTION.md b/sdks/INTRODUCTION.md new file mode 100644 index 0000000..cb7c0f4 --- /dev/null +++ b/sdks/INTRODUCTION.md @@ -0,0 +1,77 @@ +# SDKs and Libraries + +This section provides comprehensive guidelines and a structured decision-making process for +selecting, updating, and integrating SDKs and libraries. It aims to standardize tool usage across +the company, ensuring efficiency and reducing technical debt. + +## Benefits of a Coherent Ecosystem + +1. **Improved Collaboration:** Using a consistent set of tools enhances team synergy and project +predictability. +2. **Streamlined Onboarding:** A standardized toolkit simplifies the onboarding process, enabling +quicker team member ramp-up. +3. **Better Productivity:** Common tools decrease redundancy, helping developers focus on innovation +rather than compatibility issues. +4. **Risk Management:** Well-supported tools reduce security vulnerabilities. +5. **Cost Efficiency:** Proper tool management cuts unnecessary costs associated with frequent +technology shifts. + +## SDK/Library Integration Decision Chart + +The flowchart below serves as a tool to guide the decision on whether to integrate a new SDK or +library. Use it to ensure that any addition is beneficial and sustainable. + +```mermaid +%%{init: {"flowchart": {"defaultRenderer": "elk"}, "theme": "dark"} }%% +flowchart TD + A[Consider a new SDK/Library] --> B[Is it already in use
within the company?] + B --> |No| F[Is it well supported and
regularly updated?] + B --> |Yes| I[Does it align with our
technology stack and standards?] + I --> |Yes| C[Is the existing version
adequate?] + I --> |No| L + + F --> |No| L + F --> |Yes| H[Does it align with our
technology stack and standards?] + + H --> |No| L + H --> |Yes| J[Is there a better or similar
tool already in use?] + + J --> |No| M[Does it significantly
improve development
efficiency or capability?] + J --> |Yes| L + + M --> |No| L + M --> |Yes| W + + C --> |No| D[Can it be updated
to a satisfactory version?] + C --> |Yes| W + + D --> |No| L + D --> |Yes| W + + W[fa:fa-check Integrate the SDK] + L[fa:fa-close Reject the SDK] + + + style A fill:#1565C0 + style W fill:#2E7D32 + style L fill:#C62828 +``` + + diff --git a/sdks/_PLATFORM_TEMPLATE.md b/sdks/_PLATFORM_TEMPLATE.md new file mode 100644 index 0000000..124630e --- /dev/null +++ b/sdks/_PLATFORM_TEMPLATE.md @@ -0,0 +1,73 @@ +# [Platform] Development Kits and Libraries + +This page outlines the recommended Development Kits and Libraries for [Platform] development. It +categorizes tools into **Must-Have**, **Should-Have**, based on necessity, and assesses their +utility to aid in selection. This guide ensures that all tools align with our company’s standards +and best practices. + +## Overview + +Below is a prioritization matrix that categorizes SDKs and libraries based on their utility and +necessity. This visual guide helps in quick decision-making regarding tool adoption. + +```mermaid +%%{init: {"theme": "dark"} }%% +quadrantChart + title SDKs and Libraries Prioritization Matrix for [Platform] + x-axis Low Utility --> High Utility + y-axis Should Have --> Must Have + quadrant-1 Adopt + quadrant-2 Mandatory + quadrant-3 Optional + quadrant-4 Optional + SDK1: [0.9, 0.9] + SDK2: [0.2, 0.9] + Library1: [0.8, 0.3] + Library2: [0.1, 0.2] +``` + +For guidance on integrating or rejecting libraries and SDKs not listed in this guide, please consult +the [SDK/Library Integration Decision Chart](./INTRODUCTION?id=sdklibrary-integration-decision-chart). +Update this guide with your findings on new libraries and SDKs to ensure it remains a valuable +resource for your colleagues. + +To view deprecated tools and their alternatives, visit +the [Deprecated Libraries and SDKs Section](#deprecated-kits-and-libraries). + + +> [!Note] +> The recommendations on this page are based on general guidelines which may not perfectly fit all +> project scenarios. Evaluate the specifics of your project when choosing tools. + +## Must-Have Kits and Libraries + +These are the essential tools required for development on [Platform]. They are supported actively +and are pivotal to our development practices. + +- **SDK/Library Name 1** + - **Purpose**: Explains its functions and why it is indispensable. + - **Official Documentation**: [Link to documentation](#) + - **References**: [Link to projects using this SDK/library](#) + +_Continue listing other must-have SDKs and libraries as necessary._ + +## Should-Have Kits and Libraries + +These tools, while not mandatory, are recommended as they enhance productivity and address common +issues effectively. + +- **SDK/Library Name 1** + - **Purpose**: Describes what it does and its benefits. + - **Official Documentation**: [Link to documentation](#) + - **References**: [Link to projects using this SDK/library](#) + +_Continue listing other should-have SDKs and libraries as necessary._ + +## Deprecated Kits and Libraries + +These tools are no longer recommended due to reasons such as obsolescence, lack of support, or the +availability of better alternatives. + +- **SDK/Library Name 1** + - **Reason for Deprecation**: Explains why the tool is deprecated. + - **Suggested Alternatives**: [Link to alternative tool's documentation](#)