2010-12-26 58 views

Trả lời

19

Sử dụng sloccount

+3

+1 bánh xe đã được phát minh –

+0

+1 trên bình luận cho một trò chơi chữ (David Wheeler <-> bánh xe đã được phát minh). – user502515

+0

+1 để đề cập đến sloccount. Tôi sử dụng cloc và sloccount có thêm thông tin khá tiện dụng. –

2

Bạn có thể thử một cái gì đó như:

find . -name "*.java" -exec cat {} \; | wc -l 
-1

Điều này cũng sẽ đếm các dòng trống, nhưng thật dễ dàng. Tới thư mục cụ thể mà bạn check muốn và làm

find . | wc 
1

gợi ý của tôi sẽ là

  1. Sử dụng một lệnh find như trong câu trả lời Barti để xác định tất cả các tập tin
  2. Sử dụng sed hoặc một cái gì đó để strip out all the comments
  3. Không làm điều đó tại tất cả

SLOC là một cách rất, rất gây hiểu lầm để đo lường phần mềm. Bill Gates nói nó giống như ước tính chất lượng của một chiếc máy bay theo trọng lượng, và nó có thể là thứ hữu ích duy nhất mà ông từng nói.

+1

Đoạn cuối cùng của bạn là sai, bởi vì nó phụ thuộc vào những gì bạn đang cố gắng để đo lường về phần mềm. Ví dụ, cân nhắc trọng lượng của máy bay phản lực Boeing và chi phí của nó tương đối tỉ lệ - có nghĩa là, với đường hồi qui thông qua chi phí và trọng lượng của các dòng sản phẩm 737, 747, 767 và 777 hiện tại, bạn có thể đoán chi phí của một chiếc 787 Dreamliner trong khoảng 15% do trọng lượng của nó. Thời gian phát triển và số lượng SLOC có mức độ tương ứng đó trong các lớp phần mềm tương tự và các nhóm phát triển tương tự. –

+0

Tôi nghĩ đó là một sự tương tự tuyệt vời. Những chiếc máy bay tương tự được sản xuất bởi cùng một công ty và có mối tương quan chặt chẽ giữa trọng lượng và chi phí. Bạn so sánh hai chương trình được viết bởi cùng một người, trong cùng một ngôn ngữ, vâng, bạn có thể tương quan SLOC với thời gian để viết, số lượng lỗi, v.v. Trong * mọi trường hợp khác * ... – Malvolio

-1

Đã được trả lời, chỉ cần đưa ra một cách khác bằng cách sử dụng awk mà bạn chắc chắn sẽ có.

cat *.ext | awk 'BEGIN{i=0;} {i++;} END{print "Lines ", i}'

tôi chỉ còn đề nghị này vì nó có thể dễ dàng chỉnh sửa để thêm các mẫu (như nhận xét) cho đường mà bạn không muốn đếm.

9

Sử dụng cloc. Nó hỗ trợ khoảng 80 ngôn ngữ.

+0

Một tệp, không biên dịch, không phụ thuộc khác với Perl. Tốt đẹp. –

9

Bạn chỉ có thể sử dụng

find . -name '*.php' | xargs wc -l 
+0

+1 cho câu trả lời gọn gàng nhất – Elijah

+2

Bạn có thể muốn sử dụng '-type f' để chỉ lấy các tệp và nối thêm' đuôi -1' để chỉ nhận tổng số. Ngoài ra, thật không may, điều này không hoạt động nếu bạn có bất kỳ tên tập tin với không gian trong đó; 'tìm. –

Các vấn đề liên quan