19 Repos
Tools and practices for maintaining high standards in software development.
Explore 19 awesome GitHub repositories matching part of an awesome list · Code Quality. Refine with filters or upvote what's useful.
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
Style guide for writing clean and readable JavaScript code.
p3c is a Java static analysis tool and code quality linter designed to enforce professional coding guidelines and quality standards. It utilizes a set of custom rules based on the PMD engine to scan source code for style violations, performance bottlenecks, and potential bugs. The project is distributed as an IDE linting plugin that provides real-time feedback and warnings during development. It also includes functionality for pre-commit code quality gates, allowing modified files to be scanned and blocked if they violate defined rules before being committed to version control. The analysis
Static code analysis plugin for enforcing Java development standards.
This project is a code naming convention guide and programming style guide. It provides a language-agnostic set of rules for naming variables and functions to improve the readability and cohesiveness of a codebase. The guide implements a variable naming framework that organizes identifiers using abstract, high-context, and low-context patterns. It also defines a specific function naming pattern based on a prefix-action-context system to communicate the operational domain and intended results of a function. The system covers broader standards for code readability optimization, including the u
Language-agnostic guidelines for consistent variable naming.
RuboCop is a static code analyzer and linter for Ruby. It functions as a static analysis tool designed to detect potential bugs, identify style violations, and improve overall code quality in Ruby projects. The project provides an automated code formatter that rewrites source code to align with established community standards. It also implements a language server protocol to surface linting and formatting errors directly within text editors. Its capabilities cover automated code linting and the analysis of Ruby code style to ensure consistency across a project. These functions are driven by
Static code analyzer for Ruby.
This project is a collection of software engineering principles and architectural design patterns designed to minimize the mental effort required to understand and maintain source code. It serves as a guide for implementing clean code methodologies and architectural simplification to reduce the overall cognitive load on developers. The framework emphasizes aligning module boundaries and ubiquitous language with business stakeholders to prevent architectural ripple effects. It advocates for balancing service granularity to avoid the overhead of distributed monoliths and suggests favoring objec
Strategies for reducing mental effort when reading code.
This project is a programming satire project and a curated catalog of software anti-patterns designed to demonstrate how to write intentionally unmaintainable and fragile code. It serves as a maintainability educational resource and a study in poor design choices, using extreme examples of obfuscated logic to teach developers how to recognize and avoid technical debt. The project provides a comprehensive guide to code obfuscation, focusing on techniques to hide program logic through deceptive naming, bizarre control flows, and misleading documentation. It distinguishes itself by intentionally
Examples of intentionally poor coding practices to avoid.
SwiftFormat is a tool for the Swift language that functions as a code formatter, linter, and refactoring utility. It automatically applies consistent style rules and visual formatting to source files to ensure a uniform appearance across a project. The project differentiates itself by providing both a command-line interface for batch processing and an Xcode extension for integration directly into the development environment. It includes specialized capabilities for modernizing legacy API usage, simplifying language constructs, and inferring formatting options by analyzing an existing codebase
Formats and cleans up Swift source code.
MLeaksFinder ist ein Diagnose-Framework und Profiling-Utility, das für die automatische Erkennung von Memory-Leaks und nicht freigegebenen Objekten in iOS-Anwendungen entwickelt wurde. Es fungiert als Memory-Leak-Detektor und Profiling-Tool, das Retain-Cycles identifiziert und Objektlebenszyklen sowohl für Swift- als auch für Objective-C-Code analysiert. Das Tool identifiziert zirkuläre Abhängigkeiten durch das Verfolgen von Referenzketten und das Durchlaufen von Objektgraphen, beginnend bei einem Root-View-Controller. Es liefert präzise Debugging-Daten, indem es die Allokations-Stacks geleakter Objekte erfasst, um den Ursprung des Memory-Leaks zurückzuverfolgen. Das Framework enthält Funktionen für das Tracking von Interface-Objekten und die Erkennung benutzerdefinierter Objekte. Zudem bietet es Filtermechanismen, um spezifische Klassen oder Singleton-Objekte von Leak-Berichten auszuschließen.
Finds memory leaks during development.
FBRetainCycleDetector is a runtime memory profiling tool and analyzer for iOS applications. It identifies circular references and retain cycles within the Objective-C object graph to prevent memory leaks. The tool analyzes the live memory heap and inspects runtime metadata to discover object relationships. It identifies closed-loop reference chains, including those involving associated objects and timers, and uses custom logic to filter out known safe cycles from reports. The project covers memory management capabilities including allocation tracking by class name, runtime object graph analy
Detects retain cycles at runtime.
Quick automated code review of your changes
Automated code review for changes.
iOS project bootstrap aimed at high quality coding.
Provides a project template for high-quality coding.
Find memory issues & leaks in your iOS app without instruments
Identifies memory issues without using Instruments.
Cross-platform static analyzer and linter for Swift.
Analyzes Swift code to improve quality and style.
Commit fully-formatted Objective-C as a team without even trying.
Enforces consistent code formatting across teams.
SwiftCop is a validation library fully written in Swift and inspired by the clarity of Ruby On Rails Active Record validations.
Validates data using a syntax inspired by Rails.
Aardvark is a library that makes it dead simple to create actionable bug reports.
Creates actionable bug reports from application data.
Makes it easier to support older versions of iOS by fixing things and adding missing methods
Adds missing methods to support older iOS versions.
Meteor specific linting rules for ESLint
ESLint plugin for enforcing standards.
This book is a distillation of my thoughts on the software creation process — how code evolves, and how we can keep it correct, maintainable, and scalable by relying on thoughtful design and the compiler as a partner.
Resource for enforcing code correctness through design patterns.