awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
bbatsov avatar

bbatsov/clojure-style-guide

0
View on GitHub↗
4,095 星标·282 分支·11 次浏览guide.clojure.style↗

Clojure Style Guide

该项目为 Clojure 开发提供了一套软件架构指南、Lisp 编码标准和函数式编程模式。它确立了通过使用持久数据结构和原子引用来实现声明式逻辑和管理共享状态的最佳实践。

该指南涵盖了记录公共 API 和组织项目目录的标准,以确保可移植的库分发。它详细说明了应用一致的格式化和命名规则,以提高源代码可读性和团队协作。

其范围扩展到惯用开发模式,包括命名空间的组织、函数定义和测试套件的结构,以及宏的负责任设计。它还提供了关于处理与外部类型的互操作以及通过稳定坐标管理库分发的指导。

Features

  • Idiomatic Coding Standards - Provides a comprehensive set of idiomatic conventions and best practices for writing functional Clojure code.
  • Functional Programming Patterns - Implements functional programming paradigms including declarative logic, immutable bindings, and atomic state management.
  • Lisp Coding Standards - Provides specific guidelines for function definitions, namespace management, and formatting within Lisp environments.
  • Persistent Data Structures - Advocates for the use of immutable collections to ensure thread safety and predictable performance.
  • Pure Functional Logic Implementations - Implements pure functional logic to create cleaner and more maintainable control flow.
  • Atomic State Coordination - Provides guidelines for managing shared state using atomic references and software transactional memory to prevent data corruption.
  • Code Formatting Standards - Applies consistent formatting and naming rules to Clojure source code to improve readability and collaboration.
  • Concurrent State Coordination - Coordinates shared mutable state across concurrent execution units using atomic references.
  • Functional Declarative Patterning - Promotes the use of functional compositions over imperative loops to simplify logic and improve maintainability.
  • Project Structure Organization - Defines standards for organizing namespaces and project directories to ensure discoverable and portable library structures.
  • Software Architecture Guidelines - Defines best practices for high-level architectural organization, API documentation, and dependency management.
  • Software Transactional Memory - Implements concurrency control through software transactional memory to manage shared state atomically.
  • Library Publishing - Establishes a publishing pipeline for libraries focusing on stable coordinates and minimal dependencies.
  • Foreign Type Wrappers - Defines boundaries and wrappers for foreign collections and constructors to maintain compatibility with native abstractions.
  • Language-Level Documentation - Standardizes the use of docstrings and metadata to communicate usage and versioning for public APIs.
  • Spacing and Indentation Rules - Enforces consistent indentation and spacing rules to improve source code readability.
  • Library Distribution Bundlers - Provides guidelines for selecting stable coordinates and minimizing dependencies to create portable library artifacts.
  • Code Commenting - Defines a standardized hierarchy of comment symbols for source code documentation and technical debt tracking.
  • Maintenance Constraints - Provides standards for limiting function length and parameter counts to ensure maintainable and testable logic.
  • Identifier Naming Conventions - Applies consistent casing and naming conventions to identifiers to signal intent and behavior.
  • Namespace Organization - Groups functions and modules into namespaces to prevent naming conflicts and improve discoverability.
  • Module Namespaces - Provides a hierarchical naming schema and alias system to organize code and prevent identifier collisions.
  • Artifact Coordinate Systems - Guidance on using stable coordinates and versioning to ensure portable library distribution.
  • Compositional Macro Design - Establishes best practices for designing complex macros by breaking them into small, testable functions.
  • Macro Decompositions - Provides a strategy for creating reliable syntactic macros by decomposing them into testable units.
  • API Documentation Annotations - Defines standards for using docstrings and metadata tags to document public APIs.
  • Public API Definitions - Establishes processes for defining public interfaces to track compatibility and version increments.
  • Source Code Formatting - Standardizes the visual layout of source code, including indentation and spacing rules.
  • Application Testing Workflows - Outlines comprehensive strategies for structuring test suites and assertion patterns to ensure long-term maintainability.
  • Test Suite Structuring - Provides a standardized directory structure and assertion pattern for implementing automated behavior tests.
  • Test Suite Organization - Establishes consistent naming and assertion patterns for structuring manageable and scalable test suites.
  • Language Style Guides - Community-driven style guide for writing idiomatic Clojure code.
  • Programming Language Guides - Community-accepted style guide for Clojure programming.
  • Programming Language Standards - Standardized coding style for the Clojure language.
  • Learning and Exercises - Community-driven style guide.

Star 历史

bbatsov/clojure-style-guide 的 Star 历史图表bbatsov/clojure-style-guide 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Clojure Style Guide 的开源替代方案

相似的开源项目,按与 Clojure Style Guide 的功能重合度排序。
  • alexandru/scala-best-practicesalexandru 的头像

    alexandru/scala-best-practices

    4,352在 GitHub 上查看↗

    This project is a collection of curated guidelines and manuals for writing clean, idiomatic, and maintainable code in Scala. It serves as a comprehensive guide for Scala coding standards, functional programming design, and enterprise software architecture. The repository provides specific strategies for concurrency management, including patterns for actors, futures, and thread pools to ensure thread safety. It also contains a performance optimization manual focused on reducing memory allocations and managing garbage collection pressure to improve runtime efficiency. The guides cover a broad

    在 GitHub 上查看↗4,352
  • realpython/materialsrealpython 的头像

    realpython/materials

    5,173在 GitHub 上查看↗

    This project is a comprehensive collection of Python programming education materials, including tutorials, exercises, and curated code samples. It serves as a learning curriculum and software engineering toolkit, utilizing Jupyter Notebooks to combine executable code with descriptive educational text. The repository provides practical implementation guides for building large language model applications, such as retrieval-augmented generation systems, stateful AI agents, and machine learning workflows. It distinguishes itself by offering a structured approach to agentic coding workflows, cover

    Jupyter Notebook
    在 GitHub 上查看↗5,173
  • arrow-kt/arrowarrow-kt 的头像

    arrow-kt/arrow

    6,558在 GitHub 上查看↗

    Arrow is a functional programming library for Kotlin that provides tools for implementing data-oriented programming patterns. It serves as a framework for typed error handling, a concurrency toolkit, and a library for the manipulation of immutable data. The project distinguishes itself through specialized capabilities for managing application failures using explicit types instead of exceptions and implementing resilience patterns such as circuit breakers and retry policies for distributed services. It also provides optics to update and query deeply nested immutable data structures without man

    Kotlinarrowcontinuationscoroutines
    在 GitHub 上查看↗6,558
  • airbnb/rubyairbnb 的头像

    airbnb/ruby

    3,890在 GitHub 上查看↗

    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

    Ruby
    在 GitHub 上查看↗3,890
查看 Clojure Style Guide 的所有 30 个替代方案→

常见问题解答

bbatsov/clojure-style-guide 是做什么的?

该项目为 Clojure 开发提供了一套软件架构指南、Lisp 编码标准和函数式编程模式。它确立了通过使用持久数据结构和原子引用来实现声明式逻辑和管理共享状态的最佳实践。

bbatsov/clojure-style-guide 的主要功能有哪些?

bbatsov/clojure-style-guide 的主要功能包括:Idiomatic Coding Standards, Functional Programming Patterns, Lisp Coding Standards, Persistent Data Structures, Pure Functional Logic Implementations, Atomic State Coordination, Code Formatting Standards, Concurrent State Coordination。

bbatsov/clojure-style-guide 有哪些开源替代品?

bbatsov/clojure-style-guide 的开源替代品包括: alexandru/scala-best-practices — This project is a collection of curated guidelines and manuals for writing clean, idiomatic, and maintainable code in… realpython/materials — This project is a comprehensive collection of Python programming education materials, including tutorials, exercises,… arrow-kt/arrow — Arrow is a functional programming library for Kotlin that provides tools for implementing data-oriented programming… airbnb/ruby — This project provides a collection of coding standard specifications, style guides, and configuration assets used to… liuxinyu95/algoxy — AlgoXY is a functional programming educational book and technical publication produced as a LaTeX digital book. It… louthy/language-ext — language-ext is a functional programming framework for C# that provides a suite of immutable data structures and…