
เครื่องวิเคราะห์สัตวแพทย์เพื่อตรวจจับหมายเลขเวทย์มนตร์
หมายเลขวิเศษคืออะไร?
หมายเลขเวทย์มนตร์เป็นตัวอักษรตัวเลขที่ไม่ได้กำหนดเป็นค่าคงที่ แต่อาจเปลี่ยนแปลงได้และดังนั้นจึงยากที่จะอัปเดต ถือว่าเป็นวิธีการเขียนโปรแกรมที่ไม่ดีเพื่อใช้ตัวเลขโดยตรงในซอร์สโค้ดใด ๆ โดยไม่มีคำอธิบาย มันทำให้โปรแกรมอ่านเข้าใจและบำรุงรักษาได้ยากขึ้น
เครื่องวิเคราะห์นี้ต้องการ Golang ในเวอร์ชัน> = 1.12 เพราะขึ้นอยู่กับ API GO/การวิเคราะห์
go get -u github.com/tommy-muehle/go-mnd/v2/cmd/mnd
คุณสามารถเรียกใช้ GO-MND เป็นการกระทำของ GitHub ได้ดังนี้:
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: ./...
คุณสามารถเรียกใช้ GO-MND ภายใน Gitlab CI Pipeline ดังนี้:
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) ./...
ในการติดตั้งด้วย homebrew, Run:
brew tap tommy-muehle/tap && brew install tommy-muehle/tap/mnd
เพื่อให้ได้ภาพ Docker ล่าสุดที่มีอยู่:
docker pull tommymuehle/go-mnd
บน Windows ดาวน์โหลดรุ่นล่าสุด
go vet -vettool $(which mnd) ./...
หรือโดยตรง
mnd ./...
หรือผ่าน Docker
docker run --rm -v "$PWD":/app -w /app tommymuehle/go-mnd:latest ./...
ตัวเลือก -checks ให้คุณกำหนดรายการเช็คที่คั่นด้วยเครื่องหมายจุลภาค
ตัวเลือก -ignored-numbers ให้คุณกำหนดรายการตัวเลขที่คั่นด้วยเครื่องหมายจุลภาคเพื่อละเว้น
ตัวอย่างเช่น: -ignored-numbers=1000,10_000,3.14159264
ตัวเลือก -ignored-functions ให้คุณกำหนดรายการที่คั่นด้วยเครื่องหมายจุลภาคของชื่อฟังก์ชั่นรูปแบบ regexp เพื่อยกเว้น
ตัวอย่างเช่น: -ignored-functions=math.*,http.StatusText,make
ตัวเลือก -ignored-files ให้คุณกำหนดรายการรูปแบบไฟล์ regexp ที่คั่นด้วยเครื่องหมายจุลภาคเพื่อยกเว้น
ตัวอย่างเช่น: -ignored-files=magic_.*.go,.*_numbers.go
โดยค่าเริ่มต้นเครื่องตรวจจับนี้จะวิเคราะห์อาร์กิวเมนต์การกำหนดกรณีเงื่อนไขเงื่อนไขการดำเนินงานและคำสั่งส่งคืน
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
โดยค่าเริ่มต้นตัวเลข 0 และ 1 รวมถึงไฟล์ทดสอบจะถูกแยกออก!
ฟังก์ชั่น "วันที่" ในแพ็คเกจ "เวลา"
t := time.Date(2017, time.September, 26, 12, 13, 14, 0, time.UTC)
การยกเว้นแบบกำหนดเองเพิ่มเติมสามารถกำหนดได้ผ่านการตั้งค่าสถานะตัวเลือก
คุณสามารถสร้างไบนารีด้วย:
make
คุณสามารถเรียกใช้การทดสอบหน่วยทั้งหมดโดยใช้:
make test
และรายงานความคุ้มครอง:
make test-coverage
นอกจากนี้คุณยังสามารถสร้างอิมเมจนักเทียบท่าได้โดยใช้คำสั่ง:
make image


เพียงแค่ส่งข้อความถึงฉันผ่าน Twitter DM หรืออีเมลหากคุณต้องการสติกเกอร์ GO-MND สำหรับคุณหรือกลุ่มผู้ใช้ Gopher ของคุณ
ใบอนุญาต MIT (MIT) โปรดดูใบอนุญาตสำหรับข้อมูลเพิ่มเติม