awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
isocpp avatar

isocpp/CppCoreGuidelines

0
View on GitHub↗
45,100 Stars·5,550 Forks·CSS·9 Aufrufeisocpp.github.io/CppCoreGuidelines/CppCoreGuidelines↗

CppCoreGuidelines

The CppCoreGuidelines is a comprehensive software engineering standard that provides a curated framework of coding conventions and design principles for C++. It serves as an authoritative guide for writing safe, efficient, and maintainable code by establishing high-level architectural patterns and organizational principles for large-scale projects. The guidelines emphasize the use of a strong, static type system to ensure memory safety and enforce consistent resource management patterns.

The project distinguishes itself by promoting the zero-overhead abstraction principle, ensuring that high-level language features remain performant. It provides specific, actionable recommendations for modern language usage, including robust error handling, template-based generic programming, and safe concurrency models. By offering a foundation for profile-based static analysis, the guidelines enable developers and automated tools to enforce safety constraints and identify anti-patterns directly within their codebases.

Beyond these core areas, the documentation covers a broad spectrum of software development concerns, ranging from interface design and class hierarchy organization to source file structure and naming conventions. It also includes guidance on leveraging the standard library and maintaining compatibility with legacy programming styles. The repository is maintained as a living document, providing a structured reference for developers aiming to improve the integrity and reliability of their software systems.

Features

  • Software Architecture Design - Establishes structural patterns to ensure long-term maintainability and modularity.
  • Software Engineering Standards - Provides a comprehensive set of principles for writing safe, efficient, and maintainable software.
  • Type System Tools - Uses a strong, static type system to catch errors at compile time and ensure memory safety.
  • Development Best Practices - Provides a framework of conventions to ensure consistency and readability across projects.
  • Resource Management Patterns - Establishes patterns for the reliable management of memory, file handles, and other system resources.
  • Resource Management Standards - Provides consistent patterns for acquiring and releasing resources to prevent leaks.
  • Language Specifications - Offers authoritative guidance on using modern language features to improve code safety.
  • High Performance Engineering - Outlines engineering strategies for minimizing latency and overhead in demanding environments.
  • Performance Optimization Guidelines - Provides specific rules for minimizing resource usage and latency in high-performance applications.
  • Educational Resources - Best practices and rules for C++ development.
  • Learning Resources - Official set of C++ coding guidelines.
  • Generics & Templates - Parameterizes algorithms and data structures by types at compile time to generate efficient, type-safe code.
  • Error Handling Strategies - Defines reliable strategies for maintaining system integrity during runtime failures.
  • Interface Design Principles - An interface is a contract between two parts of a program. Precisely stating what is expected of a supplier of a service and a user of that service is essential. Having good (easy-to-understand, encouraging efficient use
  • Software Development Philosophies - Establishes foundational principles for expressing intent directly in code and maintaining static type safety.
  • Static Analysis - Defines a structured collection of rules to help identify potential errors and anti-patterns.
  • Standard Libraries - Provides guidance on using standard library features to reduce code complexity.
  • Concurrency Patterns - Provides patterns for executing multiple tasks simultaneously to improve system responsiveness and throughput.
  • Concurrent Programming Patterns - Provides architectural guidance for building thread-safe and parallel systems.
  • Coding Profiles - Defines structured profiles to enforce consistent and safe coding standards.
  • Functional Design Patterns - Structures computations into modular, meaningfully named functions that transition the system between consistent states.
  • Generic Programming Patterns - Promotes the use of generic patterns to reduce code duplication and improve type safety.
  • Immutability Strategies - Promotes immutability to simplify program reasoning and prevent race conditions.
  • Interface Design Patterns - Defines clear contracts between program components by isolating declarations in header files.
  • Zero-Overhead Abstractions - Designs high-level language features that compile into machine code performing as efficiently as hand-written low-level instructions.

Star-Verlauf

Star-Verlauf für isocpp/cppcoreguidelinesStar-Verlauf für isocpp/cppcoreguidelines

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu CppCoreGuidelines

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit CppCoreGuidelines.
  • ziglang/zigAvatar von ziglang

    ziglang/zig

    43,123Auf GitHub ansehen↗

    Zig is a general-purpose systems programming language designed for high-performance applications that require manual memory management and direct control over hardware resources. It prioritizes predictable execution by enforcing explicit control flow and requiring functions to accept explicit memory allocators, ensuring that all heap operations and logic paths remain visible to the developer. The language distinguishes itself through a powerful compile-time metaprogramming engine that allows for arbitrary code execution during the build process, enabling advanced reflection and the generation

    Zigcompilerlanguagezig
    Auf GitHub ansehen↗43,123
  • google/comprehensive-rustAvatar von google

    google/comprehensive-rust

    33,049Auf GitHub ansehen↗

    Comprehensive Rust is a structured educational curriculum designed to teach the Rust programming language, focusing on its core principles of memory safety, performance, and type correctness. The project provides a comprehensive learning path for software engineers, covering the language's ownership model, borrow checking, and compile-time validation mechanisms that eliminate common memory-related errors without the need for a garbage collector. The curriculum distinguishes itself by offering specialized modules that demonstrate how to apply these safety guarantees in diverse, high-performanc

    Rustandroidclassroomcourse
    Auf GitHub ansehen↗33,049
  • carbon-language/carbon-langAvatar von carbon-language

    carbon-language/carbon-lang

    33,829Auf GitHub ansehen↗

    Carbon is an experimental, compiled systems programming language designed as a successor to C++. It focuses on providing a high-performance environment for modern software development while prioritizing memory safety and expressive generic programming. The language is built to support performance-critical engineering, allowing for precise control over memory layout and execution flow. A primary differentiator of the project is its bidirectional interoperability with existing C++ codebases. This allows developers to call functions and share data between languages without manual wrappers, facil

    C++carbon-langcompilercpp
    Auf GitHub ansehen↗33,829
  • nushell/nushellAvatar von nushell

    nushell/nushell

    39,743Auf GitHub ansehen↗

    Nushell is a cross-platform shell and programming language designed to treat all input and output as structured data rather than raw text streams. By enforcing data types and command signatures, it provides a consistent environment for building robust, pipeline-oriented workflows. The shell allows users to chain commands that pass structured objects between stages, enabling complex data processing and automation tasks that remain predictable across different operating systems. What distinguishes the project is its focus on interactive data exploration and modular extensibility. Users can quer

    Rustnushellrustshell
    Auf GitHub ansehen↗39,743
Alle 30 Alternativen zu CppCoreGuidelines anzeigen→

Häufig gestellte Fragen

Was macht isocpp/cppcoreguidelines?

The CppCoreGuidelines is a comprehensive software engineering standard that provides a curated framework of coding conventions and design principles for C++. It serves as an authoritative guide for writing safe, efficient, and maintainable code by establishing high-level architectural patterns and organizational principles for large-scale projects. The guidelines emphasize the use of a strong, static type system to ensure memory safety and enforce consistent resource…

Was sind die Hauptfunktionen von isocpp/cppcoreguidelines?

Die Hauptfunktionen von isocpp/cppcoreguidelines sind: Software Architecture Design, Software Engineering Standards, Type System Tools, Development Best Practices, Resource Management Patterns, Resource Management Standards, Language Specifications, High Performance Engineering.

Welche Open-Source-Alternativen gibt es zu isocpp/cppcoreguidelines?

Open-Source-Alternativen zu isocpp/cppcoreguidelines sind unter anderem: ziglang/zig — Zig is a general-purpose systems programming language designed for high-performance applications that require manual… google/comprehensive-rust — Comprehensive Rust is a structured educational curriculum designed to teach the Rust programming language, focusing on… carbon-language/carbon-lang — Carbon is an experimental, compiled systems programming language designed as a successor to C++. It focuses on… nushell/nushell — Nushell is a cross-platform shell and programming language designed to treat all input and output as structured data… huihut/interview — This project is a comprehensive technical knowledge base designed to support developers in mastering systems… uber-go/guide — This project is a collection of guidelines and best practices for the Go programming language, providing a…