smrcptr VS revive

Compare smrcptr vs revive and see what are their differences.

smrcptr

detect mixing pointer and value method receivers (by nikolaydubina)

revive

🔥 ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint (by mgechev)
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
smrcptr revive
1 11
13 5,001
- 1.9%
5.8 9.4
17 days ago 1 day ago
Go Go
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

smrcptr

Posts with mentions or reviews of smrcptr. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-30.

revive

Posts with mentions or reviews of revive. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-03-11.
  • A 10x Faster TypeScript
    38 projects | news.ycombinator.com | 11 Mar 2025
    The Uber page does a pretty good job of summing it up. The only thing I'd add is that there has been a little bit of effort to reduce footguns since they've posted this article; as one example, the issue with accidentally capturing range for variables is now fixed in the language[1]. On top of having a built-in race detector since 1.1 and runtime concurrent map access detection since 1.6, Go is also adding more tools to make testing concurrent code easier, which should also help ensure potentially racy code is at least tested[2]. Accidentally capturing named return values is now caught by a popular linting tool[3]. There is also gVisor's checklocks analyzer, which, with the help of annotations, can catch many misuses of mutexes and data protected by mutexes[4]. (This would be a lot nicer as a language feature, but oh well.)

    I don't know if I'd evangelize for adopting Go on the scale that Uber has: I think Go works best for shared-nothing architectures and gets gradually less compelling as you dig into more complex concurrency. That said, since Uber is an early adopter, there is a decent chance that what they have learned will help future organizations avoid repeating some of the same issues, via improvements to tooling and the language.

    [1]: https://go.dev/blog/loopvar-preview

    [2]: https://go.dev/blog/synctest

    [3]: https://github.com/mgechev/revive/blob/HEAD/RULES_DESCRIPTIO...

    [4]: https://pkg.go.dev/gvisor.dev/gvisor/tools/checklocks

  • revive v1.3.4 is now available
    1 project | /r/golang | 18 Sep 2023
    The v1.3.4 of revive, the fast, configurable, extensible, flexible, and beautiful linter for Go, is available.
  • net/http extension to exchange structs
    6 projects | /r/golang | 9 Jul 2023
    I would suggest checking out something like revive to improve the code. For instance you use an errors.New(fmt.Sprintf(... when you can just use fmt.Errorf(... to simplify it. I am not saying obey everything but there are some good lints included that can even catch bugs (for instance misusing errors.Is or errors.As or general equality).
  • Why elixir over Golang
    10 projects | /r/elixir | 29 May 2023
    Linting and static analysis: https://revive.run/
  • Just migrated our Open Source project to Golang
    4 projects | news.ycombinator.com | 21 Mar 2023
  • Revive 1.3 is out
    1 project | /r/golang | 15 Mar 2023
    For people using this linter (like me) https://github.com/mgechev/revive
  • Is there a better alternative to `gofmt`?
    5 projects | /r/golang | 29 Dec 2021
    Been using https://github.com/mgechev/revive in all my projects.
  • Change Blogging my first Hacktoberfest (2021)
    2 projects | dev.to | 29 Oct 2021
    The day after, I talked about the Hacktoberfest to Salvador (architect colleague and my technical/career unofficial mentor). He is known for contributing to revive a Golang linter. We decided that I could contribute by solving these 3 issues (2 new rules and add a docker image to the release). Since this moment, I have been coding every available hour I had. It felt so reviving to spend time coding on new projects, rewarding to solve issues for people actually using the tool. Here are all my contributions.
  • Golang Style Checkers
    1 project | /r/golang | 10 Jul 2021
    While golint may be deprecated it has been brought back as revive. You can also enable in golangci-lint.
  • Mgechev/revive: faster,stricter,configurable,extensible,replacement for golint
    1 project | news.ycombinator.com | 30 May 2021

What are some alternatives?

When comparing smrcptr and revive you can also consider the following projects:

go-ruleguard - Define and run pattern-based custom linting rules.

staticcheck

go-recipes - 🦩 Tools for Go projects

golangci-lint - Fast linters runner for Go

Chronos - Chronos - A static race detector for the go language

go-critic - The most opinionated Go source code linter for code audit.

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured

Did you know that Go is
the 4th most popular programming language
based on number of references?