2011-12-14 12 views
660

PHPLint, JSLint, và gần đây tôi đã bắt gặp "bạn có thể lint mã JS của bạn trên bay" trong khi đọc một cái gì đó về một số IDE."Linting" là gì?

Vì vậy, đây là gì linting mà mọi người đều biết nhưng tôi?

Trả lời

688

Linting là quá trình chạy 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 cho một chương trình cụ thể mà 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 của ngôn ngữ C. Thuật ngữ này hiện được áp dụng chung cho các công cụ gắn cờ 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.

+49

Trích dẫn từ [wikipedia] (https://en.wikipedia.org/wiki/Lint_ (phần mềm)) - _ “Thuật ngữ được lấy từ tên của ** các bit 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

+0

Vì vậy, một linter không nhất thiết phải là một định dạng tự động? –

+3

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

125

Lint là tên của chương trình đ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 cho Java.

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

24

lint là công cụ được sử dụng để đánh dấu mã nguồn với một số mã đáng ngờ và không có 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 ngay từ đầ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ờ.

78

Linting là quá trình kiểm tra mã nguồn cho lỗi có lập trình cũng như theo kiểu. Đ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 Lint hoặc Linter là chương trình hỗ trợ linting (xác minh chất lượng mã). Họ có sẵn cho hầu hết các ngôn ngữ như Javascript, CSS, HTML, Python, vv ..

Một số các xơ hữu ích được JSLint, CSSLint, JSHint, Pylint

24

Ngoài những gì người khác đã nói, tôi muốn 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 một chương trình Lint trên mã nguồn của bạn, giúp đảm bảo rằng mã nguồn là rõ ràng, dễ đọc, ít bị ô nhiễm và dễ dàng hơn để duy trì.

2

Các ngôn ngữ được phiên dịch như lợi ích của Python và JavaScript rất nhiều từ 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 thi.

Linters cũng hữu ích cho việc định dạng mã và/hoặc tôn trọng các phương pháp hay 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.