sonarQube แตกต่างจาก SonarLint อย่างไร? SonarQube มีเซิร์ฟเวอร์ที่เชื่อมโยงอยู่และ Sonar lint ทำงานได้เหมือนปลั๊กอิน แต่อะไรคือความแตกต่างเฉพาะของพวกเขา?
sonarQube แตกต่างจาก SonarLint อย่างไร? SonarQube มีเซิร์ฟเวอร์ที่เชื่อมโยงอยู่และ Sonar lint ทำงานได้เหมือนปลั๊กอิน แต่อะไรคือความแตกต่างเฉพาะของพวกเขา?
คำตอบ:
SonarLintอาศัยอยู่ใน IDE (IntelliJ, Eclipse และ Visual Studio) เท่านั้น มีวัตถุประสงค์เพื่อให้ข้อเสนอแนะทันทีในขณะที่คุณพิมพ์รหัสของคุณ สำหรับสิ่งนี้จะเน้นที่รหัสที่คุณกำลังเพิ่มหรืออัปเดต
SonarQubeเป็นเซิร์ฟเวอร์ส่วนกลางที่ประมวลผลการวิเคราะห์ทั้งหมด (เรียกใช้โดยเครื่องสแกน SonarQube ต่างๆ) จุดประสงค์คือให้วิสัยทัศน์ 360 °เกี่ยวกับคุณภาพของฐานรหัสของคุณ ด้วยเหตุนี้ระบบจะวิเคราะห์แหล่งที่มาทั้งหมดของโครงการของคุณเป็นประจำ
ทั้ง SonarLint และ SonarQube ใช้เครื่องวิเคราะห์ซอร์สโค้ดแบบคงที่ซึ่งส่วนใหญ่เขียนโดยใช้เทคโนโลยี SonarSource
ควรเพิ่มว่า SonarQube ยังทำการสแกนด้วยเครื่องวิเคราะห์ของบุคคลที่สาม (findBugs, checkstyle, PMD) ในขณะที่ SonarLint ไม่รวมสิ่งเหล่านี้ ฉันคิดว่าเหตุผลคือการจัดลำดับความสำคัญของประสิทธิภาพและ findBugs อาศัย java byte-code
ดังนั้นการค้นพบของคุณใน SonarQube และ SonarLint จึงอาจแตกต่างกันไปหากโปรไฟล์คุณภาพพื้นฐานใช้เครื่องสแกนของบุคคลที่สาม
SonarQubeเป็นเซิร์ฟเวอร์ที่คุณสามารถโฮสต์โครงการของคุณและดำเนินการวิเคราะห์ในขณะที่SonarLintเป็นตัวแทนที่ช่วยให้เราเชื่อมต่อกับ SonarQube นี้และดำเนินการวิเคราะห์จากระยะไกล SonarLint สามารถใช้กับ IDE หรือสามารถดำเนินการผ่านคำสั่ง CLI
SonarLint มีชุดกฎเริ่มต้นของตัวเอง แต่เมื่อเชื่อมต่อกับ SonarQube ผู้ใช้สามารถนำเข้ากฎจาก SonarQube ซึ่งจริงๆแล้วเป็นมากกว่าชุดกฎมาตรฐาน เราสามารถรวม PDM, CodeStyle และตัวตรวจสอบอื่น ๆ บน SonarQube และสร้างกฎที่กำหนดเองได้
ข้อเท็จจริงสองประการที่ฉันต้องการพูดถึงที่ฉันเรียนรู้จากประสบการณ์ของฉัน SonarLint จะไม่สืบทอดกฎที่กำหนดเองเหล่านั้นจาก SonarQube ประการที่สอง Sonar ไม่ทำงานในชั้นเรียนทดสอบ
Sonarqube เรียกใช้การกำหนดค่ากฎบนเซิร์ฟเวอร์เรารวมเข้ากับโครงสร้าง TFS ของเรา SonarLint ทำงานใน IDE ดังนั้นก่อนที่ฉันจะยอมรับรหัสของฉันฉันรู้ว่าบรรทัดใดละเมิดกฎใดใน IDE
SonarLint : ใช้เฉพาะใน IDE (IntelliJ, Eclipse และ Visual Studio) มีวัตถุประสงค์เพื่อให้ข้อเสนอแนะทันทีในขณะที่คุณพิมพ์รหัสของคุณ
SonarQube : เป็นเซิร์ฟเวอร์กลางที่ประมวลผลการวิเคราะห์แบบคงที่ จุดประสงค์คือให้วิสัยทัศน์ 360 °เกี่ยวกับคุณภาพของฐานรหัสของคุณ สำหรับสิ่งนี้จะวิเคราะห์รายการต้นทางทั้งหมดของโครงการของคุณ คุณสามารถกำหนดค่าวิธีวิเคราะห์โครงการของคุณได้