SonarQube : รู้จักกับ SonarQube

SonarQube คือ อะไร??

SonarQube เป็นเครื่องมือที่ช่วยให้เราตรวจสอบคุณภาพโค้ดของเราและแนะนำการแก้ไขเพื่อคุณภาพให้ดียิ่งขึ้น(Code Review) ที่สำคัญ คือ มันฟรี และสามารถใช้ตรวจสอบ Code ได้มากกว่า 25 ภาษา รวมทั้งซับพอร์ต GitHub แล้วด้วย

ทำไมเราถึงควรทำ Code Review แนะนำให้อ่านที่นี่ค่ะ สิ่งที่ได้เรียนรู้จากการทำ Code Review

SonarQube สามารถวิเคราะห์ Code ที่มีการเขียนซ้ำกัน(Duplicate Code), ความครอบคลุมของ Unittest ที่เราเขียน , ตรวจหาช่องโหว่ต่างๆ , แนะนำ Best pactis ในการเขียนโค้ด ฯลฯ

วันนี้เราจะมาแนะนำ SonarQube แบบคร่าวๆ กันค่ะ (อันที่จริงคือบางส่วนก็ยังไม่ค่อยใช้ต่างหากละ อิอิ)

มาดูหน้าตาของ SonarQube กัน

  • มาเริ่มกันที่ Dashboard ของ SonarQube หน้าตาเป็นแบบนี้ image title

หน้าตาฟรุ้งฟริ้งชวนให้ใช้งานมากๆ Dashboard เป็นการแสดงสถิติของต่างๆ ทั้งหมดที่เรามี สามารถปรับแต่งได้หลากหลาย ตามการใช้งานเราต้องการดูสถิติอะไรบ้าง

  • หน้าตา Dashboard ของแต่ละโปรเจค ก็จะแสดงค่าสถิติของโปรเจคที่เราเลือก
    image title

Quality Gate คือ คุณภาพโค้ดโดยรวมที่เห็นสีแดงๆ ในรูปนี่ คือ Fail ไม่ผ่านนนนน

Bugs & Vulnerabilities คือ ช่องโหว่หรือจุดล่อแหลมที่ควรจะแก้ไข

Code Smells คือ โค้ดที่ไม่ใช่ความผิดพลาดแต่สามารถปรับปรุงให้ดีขึ้นได้ ใครที่ยังไม่รู้จัก Code Smells แนะนำให้อ่าน Developer ส่วนใหญ่ไม่รู้จัก Code Smell ?

Duplications คือ โค้ดที่มีซ้ำกัน

  • จากด้านบนถ้ากดที่ตัวเลขก็จะเข้าไปดูก็จะเห็นรายการ issue ทั้งหมด แบบนี้ค่ะ image title

  • Hightlight มันอยู่ตรงนี้นี่ละค่ะ รายละเอียดของแต่ละ issue จะมีรายละเอียดไฟล์ บรรทัดที่มีปัญหา พร้อมแนะนำวิธีแก้ให้ image title

  • แต่ๆๆ ถ้ายังไม่เข้าเข้าใจอีกก็กดเข้าไปดูวิธีแก้ไขแบบละเอียดได้แบบนี้ image title

** เป็น Tools ที่ยอดเยี่ยมจริงๆ ว่าไหม๊ค่ะ ตอนหน้ามาดูวิธีการติดตั้งและการทำ code scanner กันค่ะ ^_^ **