วันนี้ Swift developer ทำการตรวจสอบรูปแบบของ source code กันหรือไม่ ?
มีข้อตกลงในการเขียน code ( Code convention ) หรือไม่ ?
ถ้ายังไม่มีขอแนะนำ SwiftLint
ซึ่งจะช่วยเหลือเรื่องดังกล่าวอย่างมาก
โดยอ้างอิงรูปแบบจาก Swift style guide
ดังนั้นมาดูการใช้งานกันนิดหน่อย
เริ่มด้วยการติดตั้ง
ติดตั้งผ่าน Homebrew ด้วยคำสั่ง
$brew install swiftlint
ทดสอบใช้งานผ่าน command line กันได้เลย
โดยใช้คำสั่ง
$swiftlint
จะทำการอ่านและวิเคราะห์ code ที่พัฒนาด้วยภาษา Swift ให้
โดยในบรรทันสุดท้ายจะมีการสรุปตัวเลข issue ต่าง ๆ
ที่ขัดแย้งก็กฏพื้นฐานของ SwiftLint
แสดงดังตัวอย่าง
Done linting! Found 8990 violations, 616 serious in 207 files.
ถ้าพบว่าจำนวน issue เยอะก็ไม่ต้องตกใจอะไรมากนัก
เนื่องจากเป็นเรื่องปกตินะครับ (แต่ผมว่าไม่ปกตินะ !!)
โดยบาง issue นั้นสามารถให้ SwiftLint ช่วยแก้ไขให้ได้
ด้วยคำสั่ง
$swiftlint autocorrect
ถ้าต้องการรู้ว่า SwiftLint มีกฎ หรือ rule อะไรบ้าง ?
สามารถดูด้วยคำสั่ง
$swiftlint rules
แสดงผลดังนี้
ถ้าต้องการแก้ไขกฎล่ะ ทำได้ไหม ?
ตอบได้เลยว่าได้
ทำได้ทั้งแก้ไข
ทำได้ทั้งยกเลิก
ทำได้ทั้งเพิ่มเข้าไปใหม่
ดังนั้นขอยกตัวอย่างการแก้ไข และ ยกเลิกกฎก็แล้วกัน
โดยให้ทำการสร้างไฟล์ชื่อว่า .swiftlint.yml ขึ้นมา
แสดงดังตัวอย่าง
คำอธิบาย
- กำหนด path ที่ต้องการให้วิเคราะห์
- กำหนด path ที่ไม่ต้องการให้วิเคราะห์
- กำหนดความยาวในแต่ละบรรทัดต้องไม่เกิน 200 เนื่องจากปกติจะมีค่า 100
- กำหนดความยาวของ data type และ ตัวแปร
- กำหนดจำนวนบรรทัดของแต่ละไฟล์
ยังไม่พอนะ สามารถใช้งานใน XCode ได้อีกด้วย
ให้ทำการเพิ่ม Run Script ใน Build Phases ดังรูป
จากนั้นทำการ build project หรือ cmd + B
จะแสดงผลของการวิเคราะห์ code กันใน XCode ดังนี้
ปล. ยังสามารถนำ SwiftLint ไปตรวจสอบ code ทั้งเครื่องนักพัฒนาเอง
และในระบบ Continuous Integration ได้อีกด้วย
วันนี้ Swift developer ทำการตรวจสอบ code ที่เขียนกันหรือยัง
ว่า code มีรูปแบบเป็นไปตามที่ตกลงกันไว้หรือไม่ ?