โปรแกรมนับจำนวนหรือเปรียบเทียบจำนวนบรรทัดของ Code

สำหรับใครที่กำลังหาโปรแกรมที่ใช้นับจำนวนบรรทัดของ Code, เปรียบเทียบจำนวน Code, นับบรรทัดว่าง Space หรือ Comment ต่างๆ ใน Project Source code ของเรา ทั้งหมดที่ว่ามานี้สามารถใช้โปรแกรมที่มีชื่อว่า Cloc ซึ่งโปรแกรมนี้สามารถใช้งานได้กับแทบจะทุกภาษาโปรแกรมมิ่ง ไม่ว่าจะเป็น C, C++, Php, Python, Java, Javascript, หรือแม้กระทั้ง Markdown เพื่อนๆสามารถเช็คภาษาและนามสกุลไฟล์ที่รองรับได้ที่นี้ https://github.com/AlDanial/cloc#recognized-languages- หรือจะใช้คำสั่ง cloc –show-lang ก็ได้เช่นกัน

มาดูวิธีใช้งาน (ตัวอย่างสำหรับ Windows) กันดีกว่า

ก่อนอื่นให้ดาวโหลด Cloc มาก่อน โดยสามารถ Download Release version ของ Cloc (โหลดเอาไฟล์ .exe สำหรับคนที่ใช้ Windows) ได้ที่ https://github.com/AlDanial/cloc/releases

เมื่อเราได้ Cloc มาแล้วให้ทำการวาง .exe ของโปรแกรมไว้แล้วทำการเรียกใช้งานโดยผ่านทาง Command line หรือ Power shell ของ windows

จากตัวอย่างเราจะทำการวาง Code ทั้งโปรเจคอยู่ที่ Folder EVM430_CT_1V_1C_50Hz_1 ตามที่อยู่ด้านล่างนี้ C:\Users\Beer\Desktop\EVM430_CT_1V_1C_50Hz_1

เวลาเรียกใช้ก็สามารถพิมพ์ Command line ได้ว่า (ตัวอย่างนี้ใช้ version 1.82)

.\cloc-1.82.exe “C:\Users\Beer\Desktop\EVM430_CT_1V_1C_50Hz_1”

ทีเด็ดของโปรแกรม Cloc ก็คือสามารถ Export เป็น report Excel ไฟล์ได้เลย โดยใช้คำสั่งตามนี้
.\cloc-1.82.exe –by-file-by-lang –csv –report-file=test.csv “C:\Users\Beer\Desktop\EVM430_CT_1V_1C_50Hz_1”

หรือจะเปรียบเทียบ Code ระหว่าง 2 โปรเจคว่ามีความแตกต่างกันยังไงบ้าง สมมติว่ามี โปรเจค EVM430_CT_1V_1C_50Hz_1 และ EVM430_CT_1V_1C_50Hz_2 ก็สามารถใช้คำสั่งได้ดังนี้

.\cloc-1.82.exe –by-file-by-lang –count-and-diff “C:\Users\Beer\Desktop\EVM430_CT_1V_1C_50Hz_1” “C:\Users\Beer\Desktop\EVM430_CT_1V_1C_50Hz_2”

ส่วนการ Export เป็น Excel ทดลองแล้วไม่สำเร็จ ก็เลยต้องใช้อีกวีธีหนึ่งคือ ให้ print ออกมาที่ หน้า Console เป็น csv format แล้วก็ก๊อปปี้ไป save เป็น csv เอง โดยใช้คำสั่งดังนี้
.\cloc-1.82.exe –by-file-by-lang –csv –count-and-diff “C:\Users\Beer\Desktop\EVM430_CT_1V_1C_50Hz_1” “C:\Users\Beer\Desktop\EVM430_CT_1V_1C_50Hz_2”

เพิ่มเติมเวลาใส่ที่อยู่ของ path อย่าลืมใส้เครื่องหมาย double quote ” ” คร่อมด้วยนะ