2009-07-15 38 views
9

Có cách nào dễ dàng để đếm các dòng mã bạn đã viết cho dự án django của mình không?Đếm các dòng mã trong Dự án Django

Chỉnh sửa: Nội dung trình bao thú vị nhưng làm thế nào về Windows?

+0

Bạn có nghĩa là tất cả các dòng trong bất kỳ tệp * .py nào trong dự án hay chỉ các dòng mã * bạn * đã viết, không bao gồm bất kỳ mã giàn giáo nào? –

+0

@Andrew, không phải tệp phân phối DJango thường nằm cách xa trang web gốc? –

+0

@Andrew Hare, vâng tôi chỉ muốn tìm ra các dòng mã tôi đã viết. Thực sự chỉ các tệp view.py, model.py và urls.py sẽ hoạt động ... mặc dù điều đó vẫn sẽ bỏ lỡ rất nhiều mã trong context_processors của tôi và vân vân. @Aiden Bell đúng vậy. – Joe

Trả lời

15

Yep:

shell]$ find /my/source -name "*.py" -type f -exec cat {} + | wc -l 

Job là một 'un tốt.

+0

Hoàn hảo, cảm ơn! – Spike

1

Kiểm tra lệnh wc trên Unix.

3

Bắt đầu với câu trả lời Aiden, và với một chút giúp đỡ trong a question of my own, tôi đã kết thúc với mớ hỗn độn thần khủng khiếp này:

# find the combined LOC of files 
# usage: loc Documents/fourU py html 
function loc { 
    #find $1 -name $2 -type f -exec cat {} + | wc -l 
    namelist='' 
    let i=2 
    while [ $i -le $# ]; do 
     namelist="$namelist -name \"*[email protected][$i]\"" 
     if [ $i != $# ]; then 
      namelist="$namelist -or " 
     fi 
     let i=i+1 
    done 
    #echo $namelist 
    #echo "find $1 $namelist" | sh 
    #echo "find $1 $namelist" | sh | xargs cat 
    echo "find $1 $namelist" | sh | xargs cat | wc -l 
} 

cho phép bạn chỉ định bất kỳ số phần mở rộng bạn muốn kết hợp. Theo như tôi có thể nói, nó đưa ra câu trả lời đúng, nhưng ... Tôi nghĩ đây sẽ là một lớp lót, nếu không tôi sẽ không bắt đầu bash, và nó chỉ phát triển từ đó.

Tôi chắc chắn rằng những người hiểu biết hơn tôi có thể cải thiện điều này, vì vậy tôi sẽ đưa nó vào cộng đồng wiki.

+0

loc() { D = $ 1; shift echo "$ @" | xargs -n 1 echo | sed 's, ^, -or -name *.,' | xargs tìm $ D-type f | xargs cat | wc -l } – rzab

+0

Được rồi, oneliner: echo py html | xargs -n 1 echo | sed 's, ^, -or -name *.,' | xargs tìm tài liệu-type f | xargs cat | wc -l – rzab

+0

Ah, tôi thậm chí còn không nghĩ đến sự thay đổi! Như tôi đã nói, câu trả lời này nằm trong wiki cộng đồng, vì vậy bạn có thể chỉnh sửa trực tiếp ... nếu không, tôi có thể sửa lại sau. –

6

Bạn có thể muốn nhìn vào CLOC - nó không Django cụ thể nhưng nó hỗ trợ Python. Nó có thể cho bạn biết số dòng cho mã thực, nhận xét, dòng trống, v.v.

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