Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fsamin/nofuncflags

a Go(lang) linter, because flag arguments are ugly
https://github.com/fsamin/nofuncflags

go golang gometalinter linter

Last synced: 30 days ago
JSON representation

a Go(lang) linter, because flag arguments are ugly

Awesome Lists containing this project

README

        

# Golang nofuncflags linter

« Flag arguments are ugly. Passing a boolean into a function is a truly terrible practice. It immediately complicates the signature of the method, loudly proclaiming that this function does more than one thing. It does one thing if the flag is true and another if the flag is false! »

*Clean Code - Robert C. Martin*

![VSC Preview](./doc/screen.png)

## Installation

`go get github.com/fsamin/nofuncflags`

### Usage

Any funcions containing a boolean as argument are extracted.

```shell
nofuncflags [...]
```

### Usage with gometalinter

```shell
gometalinter --linter=nofuncflags:nofuncflags:PATH:LINE:COL:MESSAGE --enable=nofuncflags [] [...]
```

Usage with Visual Studio Code
To use **nofuncflags** with VS Code you need to have Go Meta Linter installed, then add following to your User Settings (Ctrl+,)

```
"go.lintTool": "gometalinter",
"go.lintFlags": [
"--disable-all", // Disable all linters
"--linter=nofuncflags:nofuncflags:PATH:LINE:COL:MESSAGE",
"--enable=nofuncflags",
"--enable=golint", // Enable any other linters you want to use
],
```