ผ้าลินินที่ยอดเยี่ยม
รายชื่อที่น่ากลัวของ Go Sters
สนับสนุนโดย Golangci: SaaS Service สำหรับใช้งาน Linters บนคำขอดึง GitHub ฟรีสำหรับโอเพ่นซอร์ส

สารบัญ
- คลาวด์
- มุ่งเน้น
- วัตถุประสงค์ทั่วไป
- ผ้าลินิน
- การจัดรูปแบบรหัส
- ความซับซ้อนของรหัส
- การตรวจสอบสไตล์และรูปแบบ
- ข้อบกพร่อง
- รหัสที่ไม่ได้ใช้
- ผลงาน
- รายงาน
- ผิด
- เครื่องมือผู้ช่วย Linters
คลาวด์
มุ่งเน้น
- Golangci - บริการ SaaS โอเพ่นซอร์สสำหรับใช้งาน linters บนคำขอดึง GitHub ฟรีสำหรับโอเพ่นซอร์ส
- Golint Online - Lints Online Go Source Source บน GitHub, BitBucket และ Google Project Hosting โดยใช้แพ็คเกจ Golint
- Gopherci - Gopherci ช่วยให้คุณรักษาโครงการ GO คุณภาพสูงโดยตรวจสอบคำขอดึง GitHub แต่ละครั้งสำหรับการเปลี่ยนแปลงที่เข้ากันไม่ได้และชุดการทดสอบอื่น ๆ
- GO Report Card - GO Repo Report Card
วัตถุประสงค์ทั่วไป
- CodeClimate - แพลตฟอร์มการวิเคราะห์แบบคงที่แบบเปิดและขยายได้
- CodeFactor - การวิเคราะห์รหัสอัตโนมัติสำหรับ repos บน GitHub หรือ BitBucket
- Houndci - เครื่องมือตรวจสอบรหัสสำหรับคำขอดึง GitHub
- QuantifiedCode - การตรวจสอบรหัสอัตโนมัติและการซ่อมแซม
- Scrutinizer - ตัวตรวจสอบคุณภาพรหัสที่เป็นกรรมสิทธิ์ซึ่งสามารถรวมเข้ากับ GitHub ได้
- Sideci - เครื่องมือตรวจสอบรหัสอัตโนมัติ ปรับปรุงประสิทธิภาพการทำงานของนักพัฒนา
ผ้าลินิน
การจัดรูปแบบรหัส
- DedupImport - แก้ไขการนำเข้าซ้ำที่มีเส้นทางนำเข้าเดียวกัน แต่ชื่อนำเข้าที่แตกต่างกัน
- GOFMT - รูปแบบ GOFMT ไปโปรแกรม ต้องมีสำหรับทุกโครงการ อย่าลืมใช้ธง -s
- GOFUMPT - เครื่องมือนี้เป็นส้อมที่แก้ไขแล้วของ GOFMT ซึ่งบังคับใช้รูปแบบที่เข้มงวดกว่า GOFMT ในขณะที่เข้ากันได้
- Goimports - Goimports ทำทุกอย่างที่ GofMT ทำ นอกจากนี้ยังตรวจสอบการนำเข้าที่ไม่ได้ใช้
- ไม่เป็นอิสระ - รหัสรายงานที่เยื้องโดยไม่จำเป็น
ความซับซ้อนของรหัส
- ABCGO - ตัวชี้วัด ABC สำหรับรหัสแหล่ง GO
- ความลึก - นับ maxdepth ของฟังก์ชัน GO เป็นประโยชน์ในการดูว่าฟังก์ชั่นจำเป็นต้องแยกออกเป็นฟังก์ชั่นเล็ก ๆ หลายฟังก์ชั่นเพื่อจุดประสงค์ในการอ่านหรือไม่
- Funlen - Linter ที่ตรวจสอบฟังก์ชั่นที่ยาวนาน สามารถตรวจสอบทั้งจำนวนบรรทัดและจำนวนคำสั่ง
- Gocyclo - คำนวณและตรวจสอบความซับซ้อนของฟังก์ชั่น
- NakedRet - NakedRet เป็นเครื่องมือวิเคราะห์แบบคงที่ GO เพื่อค้นหาผลตอบแทนที่เปลือยเปล่าในฟังก์ชั่นที่มากกว่าความยาวฟังก์ชั่นที่ระบุ
- Splint - พบฟังก์ชั่นใด ๆ ที่ยาวเกินไปหรือมีพารามิเตอร์หรือผลลัพธ์มากเกินไป
การตรวจสอบสไตล์และรูปแบบ
- Dogsled - ค้นหาการมอบหมาย/การประกาศที่มีตัวระบุว่างเปล่ามากเกินไป
- Dupl - เครื่องมือสำหรับการตรวจจับการโคลนรหัส
- Go -Checkstyle - CheckStyle เป็นเครื่องมือตรวจสอบสไตล์เช่น Java CheckStyle เครื่องมือนี้ได้รับแรงบันดาลใจจาก Java CheckStyle, Golint สไตล์ที่อ้างถึงบางจุดในความคิดเห็นรีวิวรหัส GO
- Go-Cleanarch-Go-Cleanarch ถูกสร้างขึ้นเพื่อตรวจสอบกฎสถาปัตยกรรมที่สะอาดเช่นกฎการพึ่งพาและการโต้ตอบระหว่างแพ็คเกจในโครงการ GO ของคุณ
- Go -Consistent - ตัววิเคราะห์ซอร์สโค้ดที่ช่วยให้คุณทำให้โปรแกรม GO ของคุณสอดคล้องกันมากขึ้น
- Go -NameCheck - ตัววิเคราะห์ซอร์สโค้ดที่ช่วยให้คุณรักษาอนุสัญญาการตั้งชื่อตัวแปร/ฟิลด์ภายในโครงการของคุณ
- go-printf-func-name-ตรวจสอบว่าฟังก์ชั่นเหมือน printf มีชื่อด้วย
f
ในตอนท้าย - Go-Ruleguard-กำหนดและเรียกใช้กฎผ้าสำลีแบบกำหนดเองตามรูปแบบ
- Gochecknoinits - ค้นหาฟังก์ชั่น init เพื่อลดผลข้างเคียงในรหัส
- Gochecknoglobals - ค้นหา VARs ทั่วโลกเพื่อลดผลข้างเคียงในรหัส
- GoConst - ค้นหาในสตริงซ้ำที่สามารถแทนที่ด้วยค่าคงที่
- Golint - Golint เป็น linter สำหรับรหัสแหล่งที่มา
- GOSIMPLE - GOSIMPLE เป็น LINTER สำหรับซอร์สโค้ด GO ที่เชี่ยวชาญในการทำให้โค้ดง่ายขึ้น
- Impi - ตรวจสอบการจัดกลุ่มและสั่งซื้อการนำเข้า
- Interfacer - Linter ที่แนะนำประเภทอินเตอร์เฟสที่แคบกว่า
- LLL - LINE LINE LINTER ใช้เพื่อบังคับใช้ความยาวบรรทัดในไฟล์
- ACSPELL - พบคำภาษาอังกฤษที่สะกดผิดโดยทั่วไป
- nofuncflags - disallow boolean params ไปยังฟังก์ชั่น (ธง)
- Predeclared - ค้นหารหัสที่ตัวระบุในตัวของ Shadows Go (เช่น
append
, copy
, int
) - Revive - ~ 6x เร็วขึ้นเข้มงวดขึ้นกำหนดค่าได้ขยายได้และเปลี่ยนแบบดรอปอินที่สวยงามสำหรับ Golint
- ไม่ได้รับ - ลบการแปลงประเภทที่ไม่จำเป็นออกจากแหล่งกำเนิด
- ExpleExports - ค้นหาในตัวแปรส่งออก GO ที่สามารถไม่ได้รับการคัดเลือก
- whitespace - ตรวจสอบใหม่ที่ไม่จำเป็นในตอนเริ่มต้นและสิ้นสุดของฟังก์ชั่น
ข้อบกพร่อง
- APICOMPAT - ตรวจสอบการเปลี่ยนแปลงล่าสุดในโครงการ GO สำหรับการเปลี่ยนแปลงที่เข้ากันไม่ได้
- DATTIME - DATTIME เป็น Golang Linter ที่ตรวจพบการใช้งานที่ไม่เหมาะสมของเวลาโครงสร้างเวลา
- BodyClose - ตรวจสอบว่าการตอบสนองของ HTTP นั้นถูกปิดหรือไม่และการใช้การเชื่อมต่อ TCP ไม่ถูกบล็อกซ้ำอีกครั้ง
- Durcheck - Durcheck เป็น linter ที่ง่ายมากซึ่งตรวจพบข้อบกพร่องที่อาจเกิดขึ้นกับเวลาการปรับระยะเวลาในแพ็คเกจ GO
- enumcase - enumcase ตรวจสอบคำสั่งสวิตช์ทุกตัวจัดการค่า const ทั้งหมดของประเภท
- Enumlinter - enum linter สำหรับประเภทที่แจกแจงใน GO
- ErrCheck - Errcheck เป็นโปรแกรมสำหรับการตรวจสอบข้อผิดพลาดที่ไม่ได้ตรวจสอบในโปรแกรม GO
- แก๊ส - ตรวจสอบซอร์สโค้ดสำหรับปัญหาด้านความปลอดภัยโดยการสแกน AST
- Go Vet - สัตวแพทย์ตรวจสอบซอร์สโค้ด GO และรายงานการสร้างที่น่าสงสัยเช่นการเรียก printf ที่มีอาร์กิวเมนต์ไม่สอดคล้องกับสตริงรูปแบบ สามารถตรวจสอบเงาของตัวแปรได้ แต่ต้องเปิดใช้งานอย่างชัดเจน
- GOSUMCHECK - ตรวจสอบกรณีที่เป็นไปได้ทั้งหมดของการสลับประเภท
- Go-Sumtype-ตรวจสอบกรณีที่เป็นไปได้ทั้งหมดของการสวิตช์ประเภทที่ได้รับการจัดการ
- Mulint - Go Lint ซึ่งตรวจพบล็อคแบบเรียกซ้ำซึ่งอาจนำไปสู่การล็อคที่ตายแล้ว
- SAFESQL - เครื่องมือการวิเคราะห์แบบคงที่สำหรับ Golang ที่ป้องกันการฉีด SQL
- Scopelint - Scopelint ตรวจสอบตัวแปรที่ไม่มีการแก้ไขในโปรแกรม GO
- SQLROWS - ตรวจสอบว่าปิด SQL.Rows หรือไม่
- StaticCheck - StaticCheck เป็น
go vet
บนสเตียรอยด์โดยใช้การตรวจสอบการวิเคราะห์แบบคงที่มากมายที่คุณอาจคุ้นเคยกับเครื่องมือเช่น Resharper สำหรับ C#
รหัสที่ไม่ได้ใช้
- DeadCode - ค้นหารหัสที่ไม่ได้ใช้
- ไม่ได้ใช้ ippassign - ตรวจจับเมื่อไม่ได้ใช้ตัวแปรที่มีอยู่
- structcheck - ค้นหาตัวแปรและค่าคงที่ทั่วโลกที่ไม่ได้ใช้
- Unparam - รายงานพารามิเตอร์ฟังก์ชั่นที่ไม่ได้ใช้
- ไม่ได้ใช้ - การตรวจสอบที่ไม่ได้ใช้รหัสไปสำหรับค่าคงที่ที่ไม่ได้ใช้ตัวแปรฟังก์ชั่นและประเภท
- VARCHECK - ค้นหาตัวแปรและค่าคงที่ทั่วโลกที่ไม่ได้ใช้
ผลงาน
- AlignCheck - เตือนเกี่ยวกับโครงสร้างที่ไม่เหมาะสม
- Copyfighter - วิเคราะห์รหัส GO และรายงานฟังก์ชั่นที่ผ่านโครงสร้างขนาดใหญ่ตามมูลค่า
- Maligned - เครื่องมือในการตรวจจับโครงสร้าง GO ที่จะใช้หน่วยความจำน้อยลงหากเขตข้อมูลของพวกเขาถูกจัดเรียง
- prealloc - ค้นหาคำประกาศชิ้นที่อาจถูก preallocated
- RANGERDANGER - เครื่องมือในการตรวจจับคำสั่งช่วงการวนซ้ำผ่านอาร์เรย์ที่อยู่ได้
รายงาน
- FLEN - รับข้อมูลเกี่ยวกับความยาวของฟังก์ชั่นในแพ็คเกจ GO
- Goreporter - เครื่องมือ Golang ที่ทำการวิเคราะห์แบบคงที่การทดสอบหน่วยการตรวจสอบรหัสและสร้างรายงานคุณภาพรหัส
- Golinters - Golinters สร้างรายงาน HTML เกี่ยวกับ Go Linters
ผิด
- Go -outdated - แอปพลิเคชันคอนโซลที่แสดงแพ็คเกจที่ล้าสมัย
- Go-Template-Lint-Go-Template-Lint เป็นไฟล์เทมเพลต GO Text/Template (และ HTML/Template) ไฟล์เทมเพลต
- Godox - ค้นหาความคิดเห็นที่ต้องทำทั้งหมด/fixme
- LINGO - ชุดการตรวจสอบเฉพาะ
- MEGACHECK - MEGACHECK ดำเนินการ StaticCheck, Gosimple และไม่ได้ใช้ในครั้งเดียว เนื่องจากสามารถใช้งานซ้ำได้เร็วกว่าการใช้เครื่องมือแต่ละอันแยกกัน
- Go -Critic - Linter รหัสต้นฉบับที่นำการตรวจสอบที่ไม่ได้ใช้งานในผ้าลินินอื่น ๆ
- TARP - TARP ค้นหาฟังก์ชั่นและวิธีการโดยไม่ต้องทดสอบหน่วยโดยตรงในซอร์สโค้ด GO
- GO -MND - เครื่องตรวจจับหมายเลขวิเศษสำหรับ GO
- GoCheckit - เครื่องมือ GO เพื่อช่วยระบุโมดูล GO ที่เลิกใช้แล้ว
เครื่องมือผู้ช่วย Linters
- Golangci -Lint - Linters Runner for Go 5x เร็วกว่า Gometalinter เอาต์พุตสีที่ดี สามารถรายงานปัญหาใหม่ได้เท่านั้น ค่าเท็จน้อยลง การกำหนดค่า yaml/toml
- Gometalinter - MetalInter เป็นเครื่องมือในการใช้เครื่องมือการวิเคราะห์แบบคงที่ทั้งหมดโดยอัตโนมัติและรายงานผลลัพธ์ของพวกเขาในรูปแบบปกติ
- Lint - Run Linters เป็นส่วนหนึ่งของการทดสอบ GO
- RevGrep - ตัวกรองเอาท์พุทจากเครื่องมือวิเคราะห์แบบคงที่แสดงให้เห็นเฉพาะบรรทัดของรหัส
- ReviewDog - "ReviewDog" ให้วิธีการโพสต์ความคิดเห็นรีวิวไปยังบริการโฮสต์รหัสเช่น GitHub โดยอัตโนมัติโดยรวมเข้ากับเครื่องมือ linter ใด ๆ อย่างง่ายดาย
- ZB - การกระโดดขึ้นรูปโดยการแคช gometalinter
- GOLINTUI - UI เทอร์มินัลที่เรียบง่ายสำหรับ GO LINTERS