
Seorang penganalisa dokter hewan untuk mendeteksi angka ajaib.
Apa itu nomor ajaib?
Angka ajaib adalah literal numerik yang tidak didefinisikan sebagai konstan, tetapi yang dapat berubah, dan karenanya bisa sulit diperbarui. Ini dianggap sebagai praktik pemrograman yang buruk untuk menggunakan angka secara langsung dalam kode sumber apa pun tanpa penjelasan. Itu membuat program lebih sulit dibaca, dipahami, dan dipelihara.
Penganalisa ini membutuhkan Golang dalam versi> = 1.12 karena tergantung pada API GO/analisis .
go get -u github.com/tommy-muehle/go-mnd/v2/cmd/mnd
Anda dapat menjalankan Go-MND sebagai tindakan github sebagai berikut:
name: Example workflow
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
tests:
runs-on: ubuntu-latest
env:
GO111MODULE: on
steps:
- name: Checkout Source
uses: actions/checkout@v2
- name: Run go-mnd
uses: tommy-muehle/go-mnd@master
with:
args: ./...
Anda dapat menjalankan Go-MND di dalam pipa Gitlab CI sebagai berikut:
stages:
- lint
go:lint:mnd:
stage: lint
needs: []
image: golang:latest
before_script:
- go get -u github.com/tommy-muehle/go-mnd/v2/cmd/mnd
- go mod tidy
- go mod vendor
script:
- go vet -vettool $(which mnd) ./...
Untuk menginstal dengan homebrew, jalankan:
brew tap tommy-muehle/tap && brew install tommy-muehle/tap/mnd
Untuk mendapatkan gambar Docker terbaru yang tersedia:
docker pull tommymuehle/go-mnd
Di Windows Unduh rilis terbaru.
go vet -vettool $(which mnd) ./...
atau secara langsung
mnd ./...
atau melalui Docker
docker run --rm -v "$PWD":/app -w /app tommymuehle/go-mnd:latest ./...
Opsi -checks mari Anda mendefinisikan daftar cek yang terpisah koma.
Opsi -ignored-numbers Let's You mendefinisikan daftar koma yang terpisah untuk diabaikan.
Misalnya: -ignored-numbers=1000,10_000,3.14159264
Opsi -ignored-functions Let's Anda mendefinisikan daftar koma yang terpisah dari nama fungsi pola RegExp untuk dikecualikan.
Misalnya: -ignored-functions=math.*,http.StatusText,make
Opsi -ignored-files mari Anda mendefinisikan daftar koma yang terpisah dari pola RegExp nama file untuk dikecualikan.
Misalnya: -ignored-files=magic_.*.go,.*_numbers.go
Secara default, detektor ini menganalisis argumen, penugasan, kasus, ketentuan, operasi dan pernyataan pengembalian.
t := http.StatusText(200)
c := &http.Client{
Timeout: 5 * time.Second,
}
switch x {
case 3:
}
if x > 7 {
}
var x, y int
y = 10 * x
return 3
Secara default angka 0 dan 1 serta file uji dikecualikan!
Fungsi "tanggal" dalam paket "waktu".
t := time.Date(2017, time.September, 26, 12, 13, 14, 0, time.UTC)
Kecuali kustom tambahan dapat ditentukan melalui flag opsi.
Anda dapat membangun biner dengan:
make
Anda dapat menjalankan semua tes unit menggunakan:
make test
Dan dengan laporan pertanggungan:
make test-coverage
Anda juga dapat membangun secara lokal gambar Docker dengan menggunakan perintah:
make image


Cukup kirimi saya pesan melalui Twitter DM atau email jika Anda ingin beberapa stiker go-mnd untuk Anda atau group gopher Anda.
Lisensi MIT (MIT). Silakan lihat lisensi untuk informasi lebih lanjut.