Top 23 Code Quality Open-Source Projects

  • SwiftLint

    A tool to enforce Swift style and conventions.

    Project mention: I am applying for jobs. Feedback and suggestions welcome. | reddit.com/r/SwiftUI | 2022-05-22

    Try SwiftLint. https://realm.github.io/SwiftLint/

  • infer

    A static analyzer for Java, C, C++, and Objective-C

    Project mention: Hard Things in Computer Science | news.ycombinator.com | 2022-06-28

    > The only reliable way to have bug-free code is to prove it. It requires solid mathematical foundations and a programming language that allows formal proofs.

    I'm going to be the "actually" guy and say that, actually, you can formally verify some studff about programs written in traditional/mainstream languages, like C. Matter of fact, this is a pretty lively research area, with some tools like CBMC [0] and Infer [1] also getting significant adoption in the industry.

    [0]: https://github.com/diffblue/cbmc

    [1]: https://fbinfer.com/

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • Flex

    An in-app debugging and exploration tool for iOS

    Project mention: How do you debug UIView? Are you using Debug View Hierarchy in XCode? I made the XRay library to help you debug UIView more conveniently link: https://github.com/ShawnBaek/XRay | reddit.com/r/swift | 2022-05-29

    How does this compare to FLEX?

  • static-analysis

    ⚙️ A curated list of static analysis (SAST) tools for all programming languages, config files, build tools, and more.

    Project mention: What's the best free security scan tool for C/C++ files? | reddit.com/r/AskNetsec | 2022-03-11

    There's a bunch on https://github.com/analysis-tools-dev/static-analysis

  • chisel

    Chisel is a collection of LLDB commands to assist debugging iOS apps.

  • Checkstyle

    Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly configurable. It can be invoked with an ANT task and a command line program.

    Project mention: How does Apache ShardingSphere standardize and format code? We use Spotless | dev.to | 2022-06-07

    1. Conflicts between Spotless and Checkstyle Checkstyle is a tool for checking Java source code for compliance with code standards or a set of validation rules (best practices).

  • SonarQube

    Continuous Inspection

    Project mention: CI with SonarQube and Flutter - Part 1 | dev.to | 2022-06-14

    with the project created, we should go to SonarQube website and download the software. We have two different ways to do that, the first one is a .zip file to extract, and you will need to install Java 11 on your system, the other option will be the chosen one for this tutorial where we using the Docker to containerize the software image

  • JetBrains

    Developer Ecosystem Survey 2022. Take part in the Developer Ecosystem Survey 2022 by JetBrains and get a chance to win a Macbook, a Nvidia graphics card, or other prizes. We’ll create an infographic full of stats, and you’ll get personalized results so you can compare yourself with other developers.

  • awesome-guidelines

    A curated list of high quality coding style conventions and standards.

  • pyre-check

    Performant type-checking for python.

    Project mention: Statically typed Python | reddit.com/r/Python | 2021-11-30

    Facebook/Instagram uses Pyre which is a typechecker for Python.

  • MLeaksFinder

    Find memory leaks in your iOS app at develop time.

  • reviewdog

    🐶 Automated code review tool integrated with any code analysis tools regardless of programming language

    Project mention: How to reuse steps in Tekton tasks | dev.to | 2022-05-21

    # parameters - op: add path: /spec/params/- value: name: report-file default: reportfile description: Report file with errors - op: add path: /spec/params/- value: name: format default: golint description: Format of error input from the task - op: add path: /spec/params/- value: name: reporter default: local description: Reporter type for reviewdog https://github.com/reviewdog/reviewdog#reporters - op: add path: /spec/params/- value: name: diff default: git diff FETCH_HEAD description: Diff command https://github.com/reviewdog/reviewdog#reporters # workspaces - op: add path: /spec/workspaces/- value: name: token description: | Workspace which contains a token file for Github Pull Request comments. Must have a token file with the Github API access token # steps - op: add path: /spec/steps/- value: name: reviewdog-report image: golangci/golangci-lint:v1.31-alpine # both have the same workspace name workingDir: $(workspaces.source.path) script: | #!/bin/sh set -ue wget -O - -q https://raw.githubusercontent.com/reviewdog/reviewdog/master/install.sh | sh -s -- -b $(go env GOPATH)/bin export REVIEWDOG_GITHUB_API_TOKEN=$(cat $(workspaces.token.path)/token) cat $(params.reportfile) | reviewdog -f=$(params.format) -diff="$(params.diff)"

  • detekt

    Static code analysis for Kotlin

    Project mention: Supercharge your Kotlin Project | dev.to | 2021-10-20

    ext { // https://github.com/detekt/detekt/releases detektVersion = "1.17.0" } dependencies { classpath 'com.android.tools.build:gradle:7.0.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32" ## DETEKT DEPENDENCY classpath "io.gitlab.arturbosch.detekt:detekt-gradle- plugin:$detektVersion" }

  • SimpleCov

    Code coverage for Ruby with a powerful configuration library and automatic merging of coverage across test suites

    Project mention: Paying Down Technical Debt | dev.to | 2022-03-01

    Ensure that you have sufficient test coverage. You can use code coverage analysis tools like SimpleCov to gain insight into gaps in your coverage.

  • eslint-plugin-import

    ESLint plugin with rules that help validate proper imports.

    Project mention: How to detect dead code in a frontend project | dev.to | 2022-05-02

    We can continue using our linter and take advantage of a plugin called eslint-plugin-import and, more specifically, its rule no-unused-modules, which allows us to detect both modules without exports, as well as exports that are not imported in other modules.

  • FBRetainCycleDetector

    iOS library to help detecting retain cycles in runtime.

  • Pylint

    It's not just a linter that annoys you!

    Project mention: flake8-pylint: Flake8 plugin that runs PyLint | reddit.com/r/Python | 2022-04-14

    Flake8 plugin that runs PyLint.

  • PMD

    An extensible multilanguage static code analyzer.

    Project mention: After Java tutorials, now what??? | reddit.com/r/javahelp | 2022-04-30

    - PMD Static Code Analysis tool: https://pmd.github.io/

  • GrumPHP

    A PHP code-quality tool

    Project mention: Is there a way to run commands before PHPStorm commits? | reddit.com/r/phpstorm | 2022-06-07

    I use grumphp to run phplint, phpstan, Easy coding standard (includes php-cs fixer) and phpunit. All four will automatically run before every commit, stopping any 'below standard' code from being committed. Example config file

  • OCLint

    A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C

    Project mention: C/C++ pre-commit hooks for static analyzers and linters | reddit.com/r/cpp | 2021-09-13

    and five C/C++ static code analyzers: * clang-tidy * oclint * cppcheck * cpplint (recently added!) * include-what-you-use (recently added!)

  • CleanArchitectureRxSwift

    Example of Clean Architecture of iOS app using RxSwift

  • state-of-the-art-shitcode

    💩State-of-the-art shitcode principles your project should follow to call it a proper shitcode

    Project mention: POV: the customer pays per line of code | reddit.com/r/ProgrammerHumor | 2022-06-19
  • HTMLHint

    ⚙️ The static code analysis tool you need for your HTML

    Project mention: Can someone explain to me how this works in ATOM (local installs & files) | reddit.com/r/CodingHelp | 2022-03-06

    GitHub - htmlhint/HTMLHint: ⚙️ The static code analysis tool you need for your HTML

  • jscpd

    Copy/paste detector for programming source code.

    Project mention: Are you using a CI/CD tool for your Flutter project? | reddit.com/r/FlutterDev | 2022-05-18

    PR validation. This checks the code quality, code format, static analysis, build validation, and tests. I use CLI tools such as Dart Code Metrics and JSCPD.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-06-28.

Code Quality related posts

Index

What are some of the best open-source Code Quality projects? This list will help you:

Project Stars
1 SwiftLint 16,227
2 infer 13,351
3 Flex 13,048
4 static-analysis 10,025
5 chisel 8,809
6 Checkstyle 7,118
7 SonarQube 6,909
8 awesome-guidelines 6,664
9 pyre-check 5,946
10 MLeaksFinder 5,253
11 reviewdog 5,195
12 detekt 4,594
13 SimpleCov 4,449
14 eslint-plugin-import 4,119
15 FBRetainCycleDetector 4,068
16 Pylint 4,051
17 PMD 3,889
18 GrumPHP 3,765
19 OCLint 3,520
20 CleanArchitectureRxSwift 3,428
21 state-of-the-art-shitcode 3,165
22 HTMLHint 2,802
23 jscpd 2,589
Find remote jobs at our new job board 99remotejobs.com. There are 4 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
Static code analysis for 29 languages.
Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
www.sonarqube.org