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
·
bbatsov avatar

bbatsov/clojure-style-guide

0
View on GitHub↗
4,095 Stars·282 Forks·6 Aufrufeguide.clojure.style↗

Clojure Style Guide

This project provides a set of software architecture guidelines, Lisp coding standards, and functional programming patterns for Clojure development. It establishes best practices for implementing declarative logic and managing shared state through the use of persistent data structures and atomic references.

The guide covers standards for documenting public APIs and organizing project directories to ensure portable library distribution. It details the application of consistent formatting and naming rules to improve source code readability and team collaboration.

The scope extends to idiomatic development patterns, including the organization of namespaces, the structuring of function definitions and test suites, and the responsible design of macros. It also provides guidance on handling interop with external types and managing library distribution via stable coordinates.

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 Standards - Standardized coding style for the Clojure language.
  • Learning and Exercises - Community-driven style guide.

Star-Verlauf

Star-Verlauf für bbatsov/clojure-style-guideStar-Verlauf für bbatsov/clojure-style-guide

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 Clojure Style Guide

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Clojure Style Guide.
  • realpython/materialsAvatar von realpython

    realpython/materials

    5,173Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗5,173
  • alexandru/scala-best-practicesAvatar von alexandru

    alexandru/scala-best-practices

    4,352Auf GitHub ansehen↗

    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

    Auf GitHub ansehen↗4,352
  • arrow-kt/arrowAvatar von arrow-kt

    arrow-kt/arrow

    6,558Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗6,558
  • liuxinyu95/algoxyAvatar von liuxinyu95

    liuxinyu95/AlgoXY

    6,325Auf GitHub ansehen↗

    AlgoXY is a functional programming educational book and technical publication produced as a LaTeX digital book. It serves as a programming education resource and library focused on functional algorithms and data structures. The project provides a collection of persistent data structures, such as trees and heaps, designed for immutable state management. It includes a series of implementation exercises and verified answers to teach core computer science concepts through the practical application of functional logic. The content covers the design of persistent data structures and the implementa

    TeXalgorithmsfunctional-programminghaskell
    Auf GitHub ansehen↗6,325
Alle 30 Alternativen zu Clojure Style Guide anzeigen→

Häufig gestellte Fragen

Was macht bbatsov/clojure-style-guide?

This project provides a set of software architecture guidelines, Lisp coding standards, and functional programming patterns for Clojure development. It establishes best practices for implementing declarative logic and managing shared state through the use of persistent data structures and atomic references.

Was sind die Hauptfunktionen von bbatsov/clojure-style-guide?

Die Hauptfunktionen von bbatsov/clojure-style-guide sind: 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.

Welche Open-Source-Alternativen gibt es zu bbatsov/clojure-style-guide?

Open-Source-Alternativen zu bbatsov/clojure-style-guide sind unter anderem: realpython/materials — This project is a comprehensive collection of Python programming education materials, including tutorials, exercises,… alexandru/scala-best-practices — This project is a collection of curated guidelines and manuals for writing clean, idiomatic, and maintainable code in… arrow-kt/arrow — Arrow is a functional programming library for Kotlin that provides tools for implementing data-oriented programming… louthy/language-ext — language-ext is a functional programming framework for C# that provides a suite of immutable data structures and… liuxinyu95/algoxy — AlgoXY is a functional programming educational book and technical publication produced as a LaTeX digital book. It… ruby-concurrency/concurrent-ruby — Concurrent Ruby is a comprehensive concurrency toolkit for the Ruby language that provides thread-safe data…