ออกไซด์-sloc: ตัวนับบรรทัดของโค้ดในแหล่งที่มาที่รวดเร็วผ่านทางบรรทัดคำสั่ง
oxide-sloc, โดย Nima Shafie, เป็นยูทิลิตี้บรรทัดคำสั่งที่นับบรรทัดของโค้ดต้นทางเพื่อวัดขนาดและองค์ประกอบของโครงการ เครื่องมือนี้สแกนที่เก็บข้อมูลและรายงานยอดรวมสำหรับโค้ด ความคิดเห็น และบรรทัดว่าง โดยมีการแยกผลลัพธ์ตามภาษา มันมี CLI ที่เรียบง่ายและสถิติที่กระชับซึ่งเหมาะสำหรับการเขียนสคริปต์และ CI pipelines พร้อมสำหรับการรวมเข้ากับกระบวนการสร้างอัตโนมัติ นักพัฒนา วิศวกร DevOps และผู้จัดการโครงการได้รับเมตริกที่รวดเร็วและสามารถเขียนสคริปต์ได้สำหรับติดตามการเติบโตและองค์ประกอบของโค้ดเบส。
เครื่องมือทำอะไรภายใต้พื้นผิว
สร้างใน Rust เครื่องมือจะถูกคอมไพล์เป็นไฟล์ปฏิบัติการที่สามารถทำงานได้อย่างอิสระซึ่งเดินทางผ่านไดเรกทอรีและวิเคราะห์ไฟล์เพื่อผลิตสถิติระดับบรรทัด เอนจินของมันวิเคราะห์เนื้อหาไฟล์เพื่อแยกโค้ด ความคิดเห็น และบรรทัดว่าง และสร้างรายงานการจัดองค์ประกอบเฉพาะทางภาษา ผลลัพธ์เป็นข้อความธรรมดาที่เหมาะสำหรับสคริปต์และการทำงานอัตโนมัติ และการจัดจำหน่ายมีให้ทั้งในรูปแบบไบนารีที่คอมไพล์ล่วงหน้าและผ่านตัวจัดการแพ็คเกจ Rust สำหรับการติดตั้งโดยตรง
มันมีผลต่อการโหลดระบบระหว่างการวิเคราะห์หรือไม่?
นักพัฒนาออกแบบเครื่องมือเพื่อความเร็วและขนาดที่ต่ำ: เอนจินของมันใช้หลายเธรดในการประมวลผลไฟล์พร้อมกัน ซึ่งทำให้เวลาที่ใช้ในการวัดจริงสำหรับที่เก็บข้อมูลขนาดใหญ่สั้นลงเมื่อเปรียบเทียบกับตัวนับแบบเธรดเดียวที่เก่า เนื่องจากมันถูกจัดส่งเป็นไฟล์ปฏิบัติการเดียวที่ไม่มีการพึ่งพารันไทม์ที่หนักหน่วง จึงสามารถใช้งานได้ในงาน CI หรือสถานีทำงานของนักพัฒนาโดยไม่ต้องการการตั้งค่ารันไทม์ที่ซับซ้อน ดังนั้นการสแกนจึงเสร็จสิ้นได้เร็วขึ้นด้วยภาระสิ่งแวดล้อมที่พอเหมาะ
มันปลอดภัยที่จะรันกับที่เก็บข้อมูลที่ใช้งานอยู่หรือไม่?
เครื่องมือเคารพกฎการละเว้นโครงการมาตรฐานและมักจะละเว้นไดเรกทอรีที่ซ่อนอยู่เช่น .git ซึ่งช่วยลดการสแกนที่ไม่เกี่ยวข้องและการรวมข้อมูลภายในการควบคุมเวอร์ชันโดยไม่ได้ตั้งใจ พฤติกรรมที่ไม่ต้องการการกำหนดค่าใดๆ สำหรับที่เก็บข้อมูลที่ใช้ไฟล์ละเว้นอยู่แล้วหมายความว่าคุณมักจะไม่ต้องการตัวกรองเพิ่มเติม คุณสมบัติเหล่านั้นจำกัดพื้นที่ผิวเมื่อคุณสแกนการเช็คเอาท์ในผลิตภัณฑ์ และการจัดจำหน่ายแบบไบนารีเดียวช่วยลดส่วนประกอบซอฟต์แวร์เพิ่มเติมบนโฮสต์
ฉันต้องการความรู้ทางเทคนิคในการใช้งานอย่างถูกต้องหรือไม่?
ไม่มีอินเทอร์เฟซกราฟิก; เครื่องมือเป็นยูทิลิตี้แบบบรรทัดคำสั่งอย่างเคร่งครัด ดังนั้นความคุ้นเคยกับเทอร์มินัลจึงช่วยได้ ผู้ใช้ Windows สามารถติดตั้งผ่าน cargo install หากพวกเขามี Rust toolchain หรือดาวน์โหลดการปล่อยที่คอมไพล์ล่วงหน้า ซึ่งช่วยลดอุปสรรคสำหรับผู้ปฏิบัติงานที่ชอบไบนารี ทีมโครงการที่คุ้นเคยกับเครื่องมือ CLI และขั้นตอนการติดตั้งที่ง่ายจะได้รับคุณค่าที่เป็นประโยชน์มากที่สุดจากการรวมเข้ากับสคริปต์การสร้างและงานการตรวจสอบ
ตัวเลือกที่ชัดเจนและเป็นจริงสำหรับทีมที่เน้นเทอร์มินัล
นี่เป็นตัวเลือกที่เป็นจริงสำหรับนักพัฒนาและ DevOps ที่ต้องการขนาดเมตริกที่อ่านได้โดยเครื่องและการรวมสคริปต์อย่างรวดเร็ว ผู้มีส่วนได้ส่วนเสียที่ไม่ใช่เทคนิคซึ่งชอบอินเทอร์เฟซกราฟิกจะพบว่าการขาด GUI เป็นข้อจำกัด เคล็ดลับที่เป็นประโยชน์: รันการวิเคราะห์เป็นส่วนหนึ่งของงาน CI ที่กำหนดเวลาเพื่อจับแนวโน้มการเติบโตในช่วงเวลาที่มีการเข้าชมต่ำ แนะนำ.
ข้อดี
- คอมไพล์ใน Rust, เสนอความปลอดภัยของหน่วยความจำและการดำเนินการที่รวดเร็ว
- เครื่องยนต์หลายเธรดเร่งการวิเคราะห์ของคลังข้อมูลขนาดใหญ่
- เคารพ .gitignore และไม่สนใจไดเรกทอรีที่ซ่อนอยู่เช่น .git
- มีให้ใช้งานเป็นไบนารีแบบสแตนด์อโลนหรือผ่านการติดตั้ง cargo
ข้อเสีย
- ไม่มีส่วนติดต่อกราฟิก; ขับเคลื่อนด้วยคำสั่งอย่างเคร่งครัด
- การติดตั้ง Windows cargo ต้องการเครื่องมือ Rust
- การกำหนดภาษามุ่งเป้าไปที่ภาษาหลัก; การครอบคลุมเฉพาะกลุ่มไม่รับประกัน