Linting là gì?


1094

PHPLint , JSLint và gần đây tôi đã bắt gặp "bạn có thể đưa mã JS của bạn một cách nhanh chóng" trong khi đọc một cái gì đó về một số IDE .

Vì vậy, những gì linting mà mọi người biết nhưng tôi?


6
Tôi đã chỉ nghe thuật ngữ này kể từ khi mã studio hình ảnh trở thành một thứ. trước khi nó chỉ giống như "intellisense". Mặc dù thuật ngữ này có từ năm 1978 từ wikipedia, nhưng dường như nó chỉ phổ biến gần đây.
v.oddou

Câu trả lời:


1078

Linting là quá trình chạy một chương trình sẽ phân tích mã cho các lỗi tiềm ẩn.

Xem lint trên wikipedia:

lint là tên ban đầu được đặt cho một chương trình cụ thể gắn cờ một số cấu trúc đáng ngờ và không di động (có khả năng là lỗi) trong mã nguồn ngôn ngữ C. Thuật ngữ này hiện được áp dụng rộng rãi cho các công cụ đánh dấu việc sử dụng đáng ngờ trong phần mềm được viết bằng bất kỳ ngôn ngữ máy tính nào.


140
Trích dẫn từ wikipedia - xông Thuật ngữ này được lấy từ tên của các sợi không mong muốn của sợi và lông tơ được tìm thấy trong len của cừu.
tan9

17
@HasanBaidoon - nó chỉ báo cáo vi phạm chính sách phong cách, không nhất thiết phải hành động thay mặt họ thay mặt người dùng.
Oded

Stylecop sẽ được coi là một kẻ nói dối?
Adam Plocher

1
@Adam - thường thì một kẻ nói dối cũng sẽ có tùy chọn tự động sửa các vấn đề mà nó tìm thấy.
Oded

@AdamPlocher Vâng, đúng vậy. "StyleCop là một kẻ nói dối C # thực thi các nguyên tắc về phong cách." github.com/mcandre/linters
mbomb007

184

Lint là tên của một chương trình sẽ đi qua mã C của bạn và xác định các vấn đề trước khi bạn biên dịch, liên kết và chạy nó. Nó là một trình kiểm tra tĩnh, giống như FindBugs ngày nay đối với Java.

Giống như Google, "lint" đã trở thành một động từ có nghĩa là kiểm tra tĩnh mã nguồn của bạn.


122

Linting là quá trình kiểm tra mã nguồn cho các lỗi lập trình cũng như kiểu dáng. Điều này hữu ích nhất trong việc xác định một số lỗi phổ biến và không phổ biến được thực hiện trong quá trình mã hóa.

A Linthoặc a Linterlà một chương trình hỗ trợ linting (xác minh chất lượng mã). Chúng có sẵn cho hầu hết các ngôn ngữ như JavaScript, CSS, HTML, Python, v.v.

Một số linters hữu ích là JSLint , CSSLint , JSHint , Pylint


52

Ngoài những gì người khác đã đề cập, tôi muốn nói thêm rằng, Linting sẽ chạy qua mã nguồn của bạn để tìm

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

Chạy chương trình Lint qua mã nguồn của bạn, giúp đảm bảo rằng mã nguồn dễ đọc, dễ đọc, ít ô nhiễm và dễ bảo trì hơn.


27

lint là một công cụ được sử dụng để đánh dấu mã nguồn với một số nghi ngờ và phi cấu trúc (có thể gây ra lỗi). Nó là một công cụ phân tích mã tĩnh trong C lúc đầu. Bây giờ nó đã trở thành thuật ngữ chung được sử dụng để mô tả công cụ phân tích phần mềm đánh dấu mã đáng ngờ.


20

Các ngôn ngữ được giải thích như Python và JavaScript được hưởng lợi rất nhiều từ việc linting, vì các ngôn ngữ này không có giai đoạn biên dịch để hiển thị lỗi trước khi thực hiện.

Linters cũng hữu ích cho việc định dạng mã và / hoặc tuân thủ các thực tiễn tốt nhất về ngôn ngữ cụ thể.

Gần đây tôi đã sử dụng ESLint cho JS / React và thỉnh thoảng sẽ sử dụng nó với tệp airbnb-config .


3

Linting là một quá trình của một chương trình kẻ nói dối phân tích mã nguồn bằng ngôn ngữ lập trình cụ thể và đánh dấu các vấn đề tiềm ẩn như lỗi cú pháp, sai lệch so với kiểu mã hóa quy định hoặc sử dụng các cấu trúc được biết là không an toàn.

Ví dụ: một kẻ nói dối JavaScript sẽ gắn cờ việc sử dụng parseInt đầu tiên bên dưới là không an toàn:

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

// with a radix paremeter specified - Safe
var count = parseInt(countString, 10);
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.