30 open-source projects similar to thangchung/clean-code-dotnet, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Clean Code Dotnet alternative.
This project is a collection of engineering guidelines and best practices for writing readable and maintainable JavaScript source code. It serves as a clean code guide and refactoring manual to help developers improve the structure of their codebases. The repository provides a reference for applying SOLID principles to reduce coupling and enable extensions without modifying existing logic. It includes a naming convention standard for using explicit, searchable identifiers and a guide for asynchronous patterns to replace nested callbacks with clearer execution flows. The guidelines cover soft
Checkstyle is a Java static analysis tool and linter designed to identify and enforce coding standards and best practices. It functions as a code quality auditor and Javadoc validation tool, checking source code against configurable rulesets to ensure structural and stylistic consistency. The project allows for the creation of custom linting rules by extending a core API to inspect the abstract syntax tree. It further enables specialized validation through the use of XPath expressions to query the syntax tree for specific code patterns and violations. Capability areas include the enforcement
This project is a comprehensive Python style guide and technical reference designed to promote the creation of clean, maintainable, and idiomatic code. It provides a set of opinionated guidelines and architectural patterns focusing on functional and declarative programming to reduce complexity and improve overall code quality. The guide establishes specific standards for naming conventions, module organization, and project layout. It emphasizes reducing object coupling by favoring modules and functions over deep class hierarchies and offers technical standards for writing docstrings and marku
This project provides a collection of coding standard specifications, style guides, and configuration assets used to define automated rules for static code analysis in Ruby. It serves as a centralized set of RuboCop configurations and static analysis rules to ensure consistent syntax and idiomatic usage across a codebase. The project establishes a comprehensive Ruby style guide that defines naming conventions, indentation, and structural requirements. It utilizes a pluggable linting engine to enforce these standards through a defined set of patterns and constraints. The capability surface co
Awesome Copilot is a comprehensive framework for autonomous software development, providing the infrastructure to orchestrate multi-agent teams and automate complex coding workflows. It functions as a centralized platform for managing AI-driven development, enabling developers to deploy specialized agents that interact with local files, terminal commands, and external APIs to execute end-to-end software delivery tasks. The project distinguishes itself through its focus on governance and extensibility, offering a suite of security controls, policy-based execution guardrails, and audit trails t
This project is a collection of Swift coding standards and static analysis rules designed to ensure consistency across Swift projects. It provides a defined set of naming conventions and structural guidelines to maintain a shared style for teams. The repository centers on a SwiftLint configuration used to automate the detection and correction of style violations in source code. This configuration enables automated style enforcement, ensuring that code adheres to organizational standards without requiring manual review. The guidelines cover the standardization of code formatting, naming, and
Crystal is a statically typed, compiled programming language designed for high performance and memory safety. It leverages an LLVM-based compiler to translate source code into optimized machine-executable binaries, while its type-inference-based static analysis enforces strict safety rules during the build process. The language distinguishes itself through a fiber-based concurrent runtime that manages lightweight execution units for asynchronous input and output without blocking the main process. It also features a powerful compile-time macro system that allows for the inspection and transfor
This project is a comprehensive framework for building AI-powered applications, providing a unified toolkit for orchestrating language models, autonomous agents, and interactive user interfaces. It serves as a central library for managing the entire lifecycle of AI interactions, from initial prompt generation and model provider abstraction to complex, multi-step reasoning and tool execution. The framework distinguishes itself through its deep integration with frontend development, specifically by enabling generative user interfaces that render dynamic components directly from model outputs. I
LearningNotes is a technical knowledge base and engineering study guide focused on Android framework internals, system architecture, and mobile performance optimization. It serves as a reference for analyzing the Android boot sequence, process bootstrapping, and system service initialization. The project provides detailed guides on mobile performance, including strategies for reducing memory footprints, identifying memory leaks, and optimizing image decoding. It further covers Android inter-process communication using AIDL and the Binder kernel driver, as well as software architecture manuals
This project is a set of software engineering standards and architectural patterns for writing maintainable and refactorable TypeScript code. It provides a comprehensive guide for implementing clean code principles, focusing on the application of SOLID design and structural patterns to build decoupled systems. The framework prioritizes composition over inheritance and utilizes dependency inversion to reduce system coupling. It establishes standards for strict static typing and the use of read-only modifiers to ensure type safety and eliminate runtime errors. The guidance covers a broad range
This project is a Swift iOS architecture template that implements the Clean Architecture pattern. It organizes software into distinct layers to decouple business rules from external frameworks, user interfaces, and infrastructure to improve testability and maintenance. The template incorporates Domain Driven Design to isolate core business logic and utilizes a modular application structure to divide features into independent modules. It employs the Coordinator pattern to remove routing logic from view controllers and a dependency injection framework to ensure components remain independent and
COLA is a core architectural toolkit for Java applications designed around domain-driven design and a clean, object-oriented layered architecture. It provides a framework for managing project structures, implementing domain-driven entity modeling, and organizing enterprise application architecture to decouple business logic from technical dependencies. The project features a pluggable logic extension system that allows for the addition of new functionality through defined extension points without modifying the core codebase. It also includes a project bootstrapping toolkit and an integration
EquinoxProject is an ASP.NET 9 web application template and reference implementation for building enterprise software. It provides a structural boilerplate centered on clean architecture, domain-driven design, and the separation of read and write operations through a command query responsibility segregation framework. The project incorporates event sourcing to track the history of business entities as a sequence of events for auditing and state reconstruction. It utilizes a layered approach to decouple business logic from external dependencies and frameworks. The system includes capabilities
This project is an ASP.NET Core solution template and boilerplate that implements a clean architecture pattern for building enterprise applications and web API backends. It provides a standardized project scaffold designed to separate business logic from infrastructure and user interfaces to ensure high testability and low coupling. The project features a database agnostic structure that allows for switching persistence providers without altering core business logic. It includes a command line tool for enterprise application bootstrapping, enabling the automated generation of project structur
This project is a reference implementation for structuring Java applications using clean architecture and domain-driven design principles. It provides a template for organizing code into concentric layers, ensuring that core business rules and domain entities remain entirely independent of external frameworks, databases, and delivery mechanisms. The architecture relies on the dependency inversion principle to decouple business logic from infrastructure. By defining abstract interfaces for data access and external services, the system allows for the replacement of underlying technologies witho
This project is a comprehensive educational resource designed to help developers master object-oriented design and architectural patterns. It serves as a structured reference for understanding how to organize classes and objects to improve code maintainability, resolve recurring development challenges, and prepare for technical engineering assessments. The guide covers the three primary categories of design patterns: creational, structural, and behavioral. Each pattern is explained through practical examples that demonstrate how to manage object instantiation, simplify complex interfaces, and
This project is a community-driven Ruby coding style guide and static analysis standard. It provides a collection of agreed-upon rules for syntax, naming conventions, and structural guidelines to ensure uniform code appearance and maintainability across Ruby projects. The project serves as both a human-readable documentation resource for developers and a machine-readable RuboCop configuration specification. This allows natural language style guidelines to be mapped directly to automated linting rules. The system covers Ruby code standardization, style enforcement, and project governance thro
This project serves as a comprehensive language ecosystem index, functioning as a centralized, community-curated directory for the Go programming language. It organizes a vast landscape of software components, libraries, and development tools into a structured, navigable hierarchy, enabling developers to efficiently discover resources tailored to specific functional domains. The repository distinguishes itself through a decentralized contribution model, where community-driven updates ensure the index remains current with the rapidly evolving software landscape. Beyond simple resource listing,
This project is an architectural design course and educational resource focused on breaking large JavaScript codebases into independent, testable, and environment-agnostic components. It serves as a modular programming guide and reference for implementing structural strategies and best practices in production environments. The material emphasizes the use of design patterns to create decoupled components and robust logic. It specifically covers strategies for dependency inversion and the use of generic interfaces to ensure logic can run across different JavaScript runtimes. The guide provides
Memori is an AI agent memory middleware platform designed to provide persistent, context-aware recall for language models. It functions as a non-intrusive layer that intercepts outbound model requests to automatically capture interaction history and execution traces, ensuring that agents maintain continuity across sessions without requiring modifications to existing application logic. The platform distinguishes itself through a dual-model storage architecture that maintains information as both structured relational primitives for precise fact retrieval and rolling narrative summaries for situ
This project is a comprehensive technical interview preparation resource and computer science interview guide. It serves as an educational reference for developers to study core software engineering fundamentals and common coding patterns required for employment screenings. The repository provides detailed guides and references covering data structures and algorithms, networking and security, operating systems, and web development. It specifically focuses on the implementation and complexity analysis of sorting, searching, and graph algorithms. The material encompasses a wide breadth of comp
This project is a software engineering style guide and a curated collection of architectural patterns and coding standards. It provides a multi-language coding standard to ensure maintainable software across Ruby, Python, JavaScript, and Swift. The project establishes a development workflow specification for version control, continuous integration, and peer review to maintain a linear project history. It also includes a web accessibility framework based on ARIA and WCAG standards, using design tokens and semantic HTML patterns to build inclusive interfaces. The guides cover a broad range of
This project is a curated collection of guidelines and technical resources designed to improve C++ code safety, maintainability, and performance. It provides a comprehensive set of coding standards and best practices for establishing consistent naming, formatting, and structural patterns across C++ codebases. The guide offers specific technical advice on performance optimization, including methods for minimizing object copying, optimizing memory allocation, and reducing compilation cycles. It also provides a directory of tooling recommendations for implementing static analysis, fuzz testing,
North is a responsive web design methodology and Sass-based CSS architecture framework. It provides a system for building mobile-first user interfaces using fluid grids and progressive enhancement techniques to ensure a consistent experience across different browser capabilities and screen sizes. The project features a standardized CSS naming system that uses Sass mixins to programmatically generate class names, distinguishing between components, layouts, and states. It also functions as a frontend project scaffolding tool, providing a generator to bootstrap new environments with pre-configur
DevToys is a cross-platform desktop application that functions as a comprehensive suite of offline utilities for common software development tasks. It provides a unified interface for performing data formatting, encoding, validation, and asset generation locally without requiring an internet connection. The application is built on a plugin-based extensibility framework that allows users to integrate custom utility modules to meet specific technical requirements. A core differentiator is its clipboard-aware management system, which monitors clipboard content to automatically suggest or open th
This project provides a framework for managing multi-agent systems, designed to automate complex software development, infrastructure, and business workflows. It functions as a multi-agent workflow orchestrator that routes tasks to domain-specific workers while maintaining state persistence and infrastructure automation. By leveraging large language models, the system decomposes high-level objectives into actionable plans, ensuring that complex operations are executed with consistency and reliability. The framework distinguishes itself through its hierarchical agent registry and policy-driven
This library provides a comprehensive framework for managing errors in JavaScript and TypeScript applications. It enables the creation of structured, type-safe error hierarchies, allowing developers to define custom error classes that ensure consistent behavior and categorization across a codebase. The project distinguishes itself through a modular plugin architecture that allows for the extension of core error functionality, such as custom logging, serialization, and validation. It includes an exception normalization pipeline that converts non-standard or malformed errors into predictable in
This project is a comprehensive educational resource and programming course covering C++ language semantics and features from C++03 through C++26. It provides structured tutorials and technical guides focused on modern C++ development. The material offers specialized instruction on template metaprogramming, including the use of type traits and compile-time computations. It features detailed guides on concurrency and parallelism for multi-core execution, as well as a reference for software design applying SOLID principles and RAII. Additionally, it covers build performance optimization to redu
30-seconds-of-code is a comprehensive knowledge base and programming snippet library designed to support software engineering education and professional development. It provides a curated collection of reusable code units and technical guides that help developers master core language mechanics, design patterns, and architectural philosophies. The project distinguishes itself by offering a wide-ranging library of algorithmic solutions and web development patterns that are organized into modular, independently testable units. It emphasizes functional programming paradigms and declarative logic,
This project is a comprehensive library of reference implementations and patterns for building web applications using the Go Fiber framework. It provides curated templates and implementation guides for creating REST APIs, web servers, and structured backend services. The repository serves as a practical resource for applying architectural patterns, including Clean and Hexagonal architectures, as well as port-and-adapter decoupling. It offers detailed examples for integrating common web features such as OAuth2 authentication, JWT verification, WebSockets for real-time communication, and server