9

Tôi biết rằng các dòng mã (LoC) là một số liệu không rõ ràng nếu không phải là mã sai và có rất nhiều bài đăng cho hiệu ứng này.Visual Studio Code Analysis Lines of Code làm gì với HTML, CSS và Javascript?

Tuy nhiên ... Tôi vẫn phải cung cấp số lượng LoC cho trang web trong báo cáo.

Tôi đã sử dụng tính năng Số liệu mã phân tích mã của Visual Studio 2010 để nhận được LoC khi tôi tự hỏi nó làm gì với hoặc làm thế nào để tính HTML, CSS và Javascript?

Văn bản VS Trợ giúp cung cấp mô tả này của chỉ số -

Ngành Mã - Chỉ số gần đúng của dòng trong mã. Số đếm dựa trên mã IL và do đó không phải là số dòng chính xác trong tệp mã nguồn. Số lượng rất cao có thể chỉ ra rằng một loại hoặc phương pháp đang cố gắng thực hiện quá nhiều công việc và phải được chia nhỏ. Nó cũng có thể chỉ ra rằng loại hoặc phương pháp có thể khó duy trì.

Vì vậy, câu hỏi đa phần của tôi là ... HTML, CSS, Javascript được biên dịch sang IL và nếu có thì tôi có nên giả sử nó được đưa vào chỉ số VS LoC không? Nếu nó không được biên dịch sang IL, cách tốt nhất để tính hoặc bao gồm HTML, CSS và Javascript trong chỉ số LoC cho báo cáo của tôi là gì? Hoặc thậm chí họ có nên được đưa vào LoC không?

Trả lời

2

HTML, CSS, Javascript có được biên dịch sang IL không?

Không - các tệp đó tĩnh. Thời gian duy nhất chúng được biên dịch là nếu bạn soạn chúng theo mã phía sau và thêm chúng vào bộ đệm Response trực tiếp.

Nếu nó không được biên dịch sang IL, cách tốt nhất để tính hoặc bao gồm HTML, CSS và Javascript trong chỉ số LoC cho báo cáo của tôi là gì? Hoặc thậm chí họ có nên được đưa vào LoC không?

Tôi có thể nói rằng việc đếm các tệp đó có thể không được sử dụng nhiều - mặc dù việc xử lý kích thước tệp JavaScript có thể rất quan trọng vì nó có ảnh hưởng đến thời gian tải trang (tệp lớn hơn sẽ mất nhiều thời gian hơn để tải xuống) - nhưng trừ khi bạn có 20K dòng JavaScript, nó không phải là một sự khác biệt lớn).

Có một vài công cụ để tính các dòng mã cho tất cả các loại tệp. Bộ đếm LOC của Microsoft là here. Ngoài ra, các công cụ như NDepend (có bản dùng thử miễn phí) cũng có thể đếm các dòng mã.

+0

Và điều gì sẽ là sự khác biệt nếu có điều đó đã được gửi thông qua một minimizer? Họ sẽ tính nó như là một LOC? – Rob

+0

@Rob Tôi đoán nó phụ thuộc vào cách nó giảm thiểu nó. Tôi không bao giờ thực sự nghĩ về nó vì tôi không thực sự tập trung vào số dòng mã JavaScript mà tôi có - tôi thường tập trung hơn vào kích thước của các tệp (và tất cả các tài nguyên) mà tôi đang tải xuống máy khách. Đóng gói và nén chắc chắn đang được phát trong sản xuất cho các ứng dụng của tôi. –

+0

@JSager Nhưng việc rút gọn chỉ thực sự loại bỏ khoảng trống và định dạng, nó không thay đổi vòng lặp, nếu câu lệnh vv. Bạn có thể có một dòng văn bản rất dài và kích thước tệp ít hơn nhưng số thực tế của các câu lệnh mã không thực sự thay đổi. –

0

Nó nói ngay rằng đó là "dựa trên mã IL". Theo định nghĩa, nó không thể bao gồm các ngôn ngữ không phải IL như HTML, CSS và Javascript.

Không chắc chắn cách bạn có thể đưa ra con số này, nhưng tôi sẽ lo ngại về bất kỳ ai yêu cầu bạn cung cấp số lượng như vậy - đó là số liệu vô dụng, đặc biệt cho những người lang thang.

0

HTML và CSS không phải là ngôn ngữ lập trình và không bao giờ được biên soạn. Javascript không nhận được một số mã trung gian được tạo ra bởi một số trình duyệt nhưng tôi tin rằng đó chỉ là một nội bộ mà VS sẽ không có gì để làm với.

1

HTML/CSS/JS có được biên dịch sang IL không? Có thể (và cũng là một ý tưởng tốt) để biên dịch các mẫu HTML sang IL nhưng tôi nghi ngờ nó được thực hiện trong trường hợp của bạn.Tệp của bạn có thể chỉ tĩnh và được phân phát theo yêu cầu.

Thay thế?CodeAnalyze như trong How do you count your Lines of Code?

Bao gồm HTML/CSS/JS trong LoC? Nếu bạn cần thống kê này để hiển thị số tiền bạn đã làm, bạn có thể bao gồm tất cả chúng. Nếu nó là để có được một ý tưởng thô phức tạp tôi sẽ chỉ bao gồm các tập tin Javascript mà bạn đã viết (loại trừ jQuery vv).

9

tôi
nghĩ

không
không
đếm
họ,

này


các
nhất
cũng
nghĩ
ra
phản ứng
trong
các
lịch sử
của
stack
Overflow
dựa
trên
dòng
đếm.
Cũng
để
đếm
dòng
trong
bạn
Javascript
file
thử

find . -name '*.js' | xargs wc -l 
+6

Phải .... chống lại .... upvoting ...... này ....... awesome ...... câu trả lời ........ .. –

+1

Ngoài ra, nếu bạn đang sử dụng Windows như tôi nghi ngờ, hãy thử dùng Cygwin. – JSager

+0

':% s// \ r/g' 10chars –