Alguém por acaso sabe como conseguir a quantidade de linhas de um projeto?
Estou utilizando o Eclipse, mas se for preciso utilizar alguma outra ferramenta também poderei utilizar.
Ouvi falar uma vez de um plug-in para Eclipse chamado metrics, ou algo assim… acho que ele deje no mínimo ajudar
isso tb deve funcionar
find ~/workspace/projeto -name "*.java" -exec wc {} \; | perl -e '$linhas = 0; while(<>){ $linhas += $_ } print "$linhas\n";'
Você poderia contar as linhas de todos os arquivos abaixo do seu diretorio de fontes…
package util;
import java.io.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.*;
public class ContaLinhas
{
StringBuffer str_entrada = new StringBuffer("");
long linhas_total = 0 ;
long linhas_programa = 0;
public void execute() {
}
public void clearCommArea() {
this.str_entrada= new StringBuffer("");
}
public ContaLinhas(String caminho) {
try{
File dir = new File(caminho);
File[] files = dir.listFiles();
for(int i=0;i<files.length;i++)
{
int l1 = 0;
File f=new File(files[i].getPath());
BufferedReader arquivo=new BufferedReader(new FileReader(f));
StringBuffer str = new StringBuffer();
String s;
while((s=arquivo.readLine())!=null)
{
str.append(s);
l1 = l1 +1;
}
linhas_programa = l1;
linhas_total = linhas_total + l1;
System.out.println("Programa - \t " + files[i].getPath() + ": \t" + linhas_programa);
linhas_programa = 0;
}
System.out.println("Total - \t " + caminho +" : \t" + linhas_total);
}
catch (Exception e)
{
System.out.println(e.toString());
return;
}
}
/**
* Returns the linhas_programa.
* @return long
*/
public long getLinhas_programa()
{
return linhas_programa;
}
/**
* Returns the linhas_total.
* @return long
*/
public long getLinhas_total()
{
return linhas_total;
}
/**
* Sets the linhas_programa.
* @param linhas_programa The linhas_programa to set
*/
public void setLinhas_programa(long linhas_programa)
{
this.linhas_programa = linhas_programa;
}
/**
* Sets the linhas_total.
* @param linhas_total The linhas_total to set
*/
public void setLinhas_total(long linhas_total)
{
this.linhas_total = linhas_total;
}
}
se não tiver como usar filtros unix como FLC sugeriu.
Abraços
[quote=fmeyer]
pq nao usar apenas ?
find . -name "*.rb" | wc -l
[/quote]
a mirabolancia em Perl não ficou lá muito elegante, mas do jeito que vc sugeriu apenas calcula-se o número de arquivos do projeto e não a quantidade de linhas. Talvez desse para usar awk, ou quem sabe ainda outra solução, mas essa foi a primeira que imaginei.
[quote=FLC][quote=fmeyer]
pq nao usar apenas ?
find . -name "*.rb" | wc -l
[/quote]
a mirabolancia em Perl não ficou lá muito elegante, mas do jeito que vc sugeriu apenas calcula-se o número de arquivos do projeto e não a quantidade de linhas. Talvez desse para usar awk, ou quem sabe ainda outra solução, mas essa foi a primeira que imaginei.[/quote]
cometi um erro :oops: , copiei a linha errada do bash …
o codigo que eu ia postar era esse
wc -l `find . -name "*.rb"`
haha!!
não sabia que usando assim ele imprimia o total tb. Bem melhor