“ Linting” คืออะไร?


1094

PHPLint , JSLintและฉันเพิ่งมาข้าม "คุณสามารถผ้าสำลีของคุณJSรหัสในทันที" ในขณะที่อ่านบางสิ่งบางอย่างเกี่ยวกับบางส่วนIDE

ดังนั้นผ้าสำลีนี้คืออะไรที่ทุกคนรู้ แต่ฉัน


6
ฉันเคยได้ยินคำนี้มาตั้งแต่รหัส Visual Studio กลายเป็นเรื่อง ก่อนที่มันจะเป็นแค่ "intellisense" เหมือน แม้ว่าเทอมนี้จะย้อนกลับไปในปี 1978 จากวิกิพีเดีย แต่สำหรับฉันมันเพิ่งจะได้รับความนิยมเมื่อไม่นานมานี้
v.oddou

คำตอบ:


1078

ผ้าสำลีเป็นกระบวนการของการรันโปรแกรมที่จะวิเคราะห์รหัสสำหรับข้อผิดพลาดที่อาจเกิดขึ้น

ดูผ้าสำลีในวิกิพีเดีย:

ผ้าสำลีเป็นชื่อเดิมที่มอบให้กับโปรแกรมเฉพาะที่ทำเครื่องหมายการสร้างที่น่าสงสัยและไม่ใช่แบบพกพา (น่าจะเป็นข้อบกพร่อง) ในซอร์สโค้ดภาษา C คำนี้ใช้โดยทั่วไปกับเครื่องมือที่ตั้งค่าสถานะการใช้งานที่น่าสงสัยในซอฟต์แวร์ที่เขียนด้วยภาษาคอมพิวเตอร์ใด ๆ


140
อ้างอิงจากวิกิพีเดีย - “ คำนี้มาจากชื่อของเศษเสี้ยวที่ไม่พึงประสงค์ของเส้นใยและขนปุยที่พบในขนแกะ”
tan9

17
@HasanBaidoon - เป็นเพียงรายงานการละเมิดนโยบายสไตล์ไม่จำเป็นต้องดำเนินการกับพวกเขาในนามของผู้ใช้
Oded

stylecop จะถือว่าเป็น linter หรือไม่?
Adam Plocher

1
@Adam - โดยปกติแล้ว linter จะมีตัวเลือกในการแก้ไขปัญหาที่พบโดยอัตโนมัติ
Oded

@ AdamPlocher ใช่มันเป็น "StyleCop เป็น C # linter ที่บังคับใช้แนวทางของสไตล์" github.com/mcandre/linters
mbomb007

184

ผ้าสำลีเป็นชื่อของโปรแกรมที่จะผ่านรหัส C ของคุณและระบุปัญหาก่อนที่คุณจะรวบรวมเชื่อมโยงและเรียกใช้มัน มันเป็นตัวตรวจสอบแบบคงที่เหมือน FindBugs ในวันนี้สำหรับ Java

เช่นเดียวกับ Google "lint" กลายเป็นคำกริยาที่หมายถึงการตรวจสอบโค้ดต้นฉบับของคุณแบบคงที่


122

ผ้าสำลีเป็นกระบวนการของการตรวจสอบรหัสที่มาสำหรับการเขียนโปรแกรมเช่นเดียวกับข้อผิดพลาด Stylistic สิ่งนี้มีประโยชน์มากที่สุดในการระบุข้อผิดพลาดทั่วไปและผิดปกติบางอย่างที่เกิดขึ้นระหว่างการเข้ารหัส

A Lintหรือ a Linterเป็นโปรแกรมที่รองรับการพิมพ์ (ตรวจสอบคุณภาพของรหัส) พวกมันพร้อมใช้งานสำหรับภาษาส่วนใหญ่เช่น JavaScript, CSS, HTML, Python และอื่น ๆ

linters ที่มีประโยชน์บางอย่างคือJSLint , CSSLint , JSHint , Pylint


52

นอกจากสิ่งที่คนอื่นพูดถึงแล้วฉันอยากจะเพิ่มว่า Linting จะทำงานผ่านซอร์สโค้ดของคุณเพื่อค้นหา

 -  formatting discrepancy 
 -  non-adherence to coding standards and conventions 
 -  pinpointing possible logical errors in your program

การรันโปรแกรม Lint บนซอร์สโค้ดของคุณช่วยให้มั่นใจได้ว่าซอร์สโค้ดนั้นอ่านง่ายอ่านได้ลดมลพิษและบำรุงรักษาได้ง่ายขึ้น


27

ผ้าสำลีเป็นเครื่องมือที่ใช้ในการทำเครื่องหมายซอร์สโค้ดด้วยที่น่าสงสัยและไม่มีโครงสร้าง (อาจทำให้เกิดข้อผิดพลาด) มันเป็นเครื่องมือวิเคราะห์รหัสแบบคงที่ใน C ที่จุดเริ่มต้นตอนนี้มันกลายเป็นคำทั่วไปที่ใช้ในการอธิบายเครื่องมือวิเคราะห์ซอฟต์แวร์ที่ทำเครื่องหมายรหัสที่น่าสงสัย


20

ภาษาที่ตีความเช่น Python และ JavaScript ได้รับประโยชน์อย่างมากจากการทับหลังเนื่องจากภาษาเหล่านี้ไม่มีขั้นตอนการรวบรวมเพื่อแสดงข้อผิดพลาดก่อนดำเนินการ

Linters ยังมีประโยชน์สำหรับการจัดรูปแบบรหัสและ / หรือการปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดในภาษาเฉพาะ

เมื่อเร็ว ๆ นี้ฉันใช้ESLintสำหรับ JS / React และบางครั้งจะใช้กับไฟล์airbnb-config


3

Linting เป็นกระบวนการโดยโปรแกรม linter ที่วิเคราะห์ซอร์สโค้ดในภาษาการเขียนโปรแกรมเฉพาะและปัญหาที่อาจเกิดขึ้นเช่นความผิดพลาดทางไวยากรณ์การเบี่ยงเบนจากรูปแบบการเข้ารหัสที่กำหนดหรือการใช้โครงสร้างที่รู้ว่าไม่ปลอดภัย

ตัวอย่างเช่น linter JavaScript จะตั้งค่าสถานะการใช้ parseInt ครั้งแรกด้านล่างว่าไม่ปลอดภัย:

// without a radix argument - Unsafe
var count = parseInt(countString);

// with a radix paremeter specified - Safe
var count = parseInt(countString, 10);
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.