Creating an inclusive work environment is imperative to a healthy, supportive, and productive culture, and an environment where everyone feels welcome and included.
unused
unused checks Go code for unused constants, variables, functions and types.
Install
go get honnef.co/go/unused/cmd/unused
Usage
unused -help
Usage Tips
NoVerify
NoVerify is a linter for PHP: it searches for potential problems in your code. It allows to write your own rules as well and it has no config: all reports it generates are potential errors that must be fixed, o
dogsled
dogsled is a Go static analysis tool to find assignments/declarations with too many blank identifiers (e.g. x, _, _, _, := f()). Its name was inspired from this reddit post.
Installation
go get -u g
Available here: https://go-city.github.io
Research Paper: 26th International Conference on Software Analysis, Evolution and Reengineering (SANER) PDF Version: ASERG Page
GoCity is an implementation of the Code City
fossa-cli - Fast, portable, and reliable dependency analysis for any codebase.
Background
fossa analyzes complex codebases to generate dependency reports and license notices. It can generate fa
identypo
identypo is a Go static analysis tool to find typos in identifiers (functions, function calls, variables, constants, type declarations, packages, labels) including CamelCased functions, variables, etc. It is b
GolangCI-Lint
GolangCI-Lint is a linters aggregator. It's fast: on average 5 times faster than gometalinter. It's easy to integrate and use, has nice output and has a minimum number of false positives. It supports
prealloc
prealloc is a Go static analysis tool to find slice declarations that could potentially be preallocated.
Installation
go get -u github.com/alexkohler/prealloc
Usage
Similar to other Go
goreporter
A Golang tool that does static analysis, unit testing, code review and generate code quality report. This is a tool that concurrently runs a whole bunch of those linters and normalizes their output to
GoRef - Simple (and fast) go-style invocation tracker
GoRef is a small Go package which implements a simple key-based method invocation counter and timing profiler.
It can be used to:
track execution time of your
honnef.co/go/tools
honnef.co/go/tools/... is a collection of tools and libraries for working with Go code, including linters and static analysis.
These tools are supported by patrons on Patreon. If you, too, would like
go-callvis
go-callvis is a development tool to help visualize call graph of a Go program using interactive view.
Introduction
The purpose of this tool is to provide developers with a visual overvie
Go Package: srcutil
About | Go Doc
Get:
go get -u github.com/cstockton/go-srcutil
Example:
pkg, err := srcutil.Import("io")
if err != nil { log.Fatal(err) }
fmt.Printf("// %s: %s\n", pkg, pkg.Doc)
var
Go Meta Linter
gometalinter is DEPRECATED and the project will be archived on 2019-04-07. See #590 for discussion.
Switch to golangci-lint.
Installing
Binary Releases
Homebrew
Editor integ
Golint is a linter for Go source code.
Installation
Golint requires Go 1.6 or later.
go get -u github.com/golang/lint/golint
Usage
Invoke golint with one or more filenames, a directory, or a package nam
GoAst Viewer
Golang AST visualizer.
Demo
GoAst Viewer Demo
Usage
You just need to run a http server and open your browser to index.html
Installation
To install, use go get and make
This project is not supported anymore
Go-outdated is minimalistic library that helps to find outdated packages hosted on github.com in your golang project.
Installation
Install the library with:
go get
dupl
dupl is a tool written in Go for finding code clones. So far it can find clones only in the Go source files. The method uses suffix tree for serialized ASTs. It ignores values of AST nodes. It just operates with t
errcheck
errcheck is a program for checking for unchecked errors in go programs.
Install
go get -u github.com/kisielk/errcheck
errcheck requires Go 1.9 or newer and depends on the package go/packages fro
gcvis
Visualise Go program gctrace data in real time
Note: GC timing graphs are only supported for go 1.6
Usage
Running it directly:
env GOMAXPROCS=4 gcvis godoc -index -http=:6060
Adding the gctrace f