revive
🔥 ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint (by mgechev)
ireturn
Accept Interfaces, Return Concrete Types (by butuzov)
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.
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.
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 2023-07-09.
-
revive v1.3.4 is now available
The v1.3.4 of revive, the fast, configurable, extensible, flexible, and beautiful linter for Go, is available.
-
net/http extension to exchange structs
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
Linting and static analysis: https://revive.run/
- Just migrated our Open Source project to Golang
-
Revive 1.3 is out
For people using this linter (like me) https://github.com/mgechev/revive
-
Is there a better alternative to `gofmt`?
Been using https://github.com/mgechev/revive in all my projects.
-
Change Blogging my first Hacktoberfest (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
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
-
pre-commit-golang v0.8.3 - Now with revive support
This release adds support for revive, a ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint.
ireturn
Posts with mentions or reviews of ireturn.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-09-17.
-
Go'ing Insane Part Three: Imperfect Interfaces
Can I highjack a topic? Made a linter recently that will track usage of returned values, just to follow rule return concrete values instead interfaces- ireturn. Can be configurable, can be used with github-actions and will be available with next minor version of golangci-lint.
What are some alternatives?
When comparing revive and ireturn you can also consider the following projects:
go-critic - The most opinionated Go source code linter for code audit.
golangci-lint - Fast linters Runner for Go
go-tools - Staticcheck - The advanced Go linter
go - The Go programming language
emusak-ui - This is a tool which allows you to download saves or mods for Nintendo Switch emulators using a compatible Emusak backend
GoWrap - GoWrap is a command line tool for generating decorators for Go interfaces
wrapcheck - A Go linter to check that errors from external packages are wrapped
ALVR - Stream VR games from your PC to your headset via Wi-Fi
guide - The Uber Go Style Guide.
gofumpt - A stricter gofmt
varnamelen - Go analyzer checking that the length of a variable's name matches its usage scope