In che modo Github calcola la percentuale della lingua in un repository?

23

Ho un repository con codice in Ruby e PHP.

Github afferma che il mio repository è il 74,8% di PHP e il 25,2% di Ruby

Non capisco come possa essere. Quando paragono le 2 lingue nel mio progetto:

# Count how many files:

# Ruby
ls | grep ".*\.rb" | wc -l
# returns 10

#PHP
ls | grep ".*\.php" | wc -l
# returns 1


# Count how many lines, words, chars:

# Ruby
cat *.rb | wc
# returns 229, 812, 5303

# PHP
cat *.php | wc
# returns 102, 473, 2760

Ruby sembra sempre avere di più.

Mi manca qualcosa?

    
posta JD Isaacks 08.07.2012 - 17:47
fonte

1 risposta

20

github utilizza Linguist per rilevare le lingue in un progetto.

Linguist è open source. guarda i file sorgente e troverai:

in /bin/linguist

repo.languages.sort_by { |_, size| size }.reverse.each do |language, size|
  percentage = ((size / repo.size.to_f) * 100).round
  puts "%-4s %s" % ["#{percentage}%", language]
end

in /lib/linguist/file_blob.rb

 # Public: Get byte size
 #
 # Returns an Integer.
 def size
   File.size(@path)
 end

quindi utilizza effettivamente le dimensioni dei file per determinare la percentuale della lingua.

ricorda anche che i dati binari, i file venduti, i file generati e i file non di programma sono esclusi.

    
risposta data 13.07.2012 - 10:05
fonte

Leggi altre domande sui tag