精华内容
下载资源
问答
  • 计算一个项目有多少行代码

    千次阅读 2017-11-16 15:47:39
    这是一个统计项目有多少代码行数。
    package com.dashu.test;
    


    import java.io.BufferedReader;  
    import java.io.File;
    import java.io.FileReader;  
    public class Api  {
    private static int totalLine;  
       private static String fileToBeCounted[] = { "java", "jsp", "css",  
               "html", "htm","xml","yml"};//所需计算的源码文件类型  
       private static int fileToBeCountedN = 6;//所需计算的源码文件类型个数  
     
       private static boolean isFileToBeCounted(String type) {  
           for (int i = 0; i < fileToBeCountedN; i++) {  
               if (type.equals(fileToBeCounted[i]))  
                   return true;  
           }  
           return false;  
       }  
     
       private static String getType(String filename) {  
           //System.out.println(filename);  
           byte b[] = filename.getBytes();  
           byte[] type = new byte[10];  
           String rts = null;  
           int i = 0, p = 0, n = filename.length();  
           for (i = 0; i < n; i++) {  
               if (b[i] == '.') {  
                   p = i;  
                   break;  
               }  
           }  
           //System.out.print(p);  
           i = p + 1;  
           p = 0;  
           for (; i < n&&p<10; i++) {  
               type[p++] = b[i];  
               //System.out.print(b[i]);  
           }  
           rts = new String(type);  
           //System.out.println(rts.substring(0, p));  
           return rts.substring(0, p);  
       }  
     
       private static void countLine(String path) {  
           File file = new File(path);  
           File lists[] = file.listFiles();  
           for (int i = 0; i < lists.length; i++) {  
               if (lists[i].isFile()) {  
                   String filename = lists[i].getName();  
                   boolean isFileToBeCounted = isFileToBeCounted(getType(filename));  
                   if (isFileToBeCounted) {  
                       try {  
                           int lines=0;  
                           FileReader read = new FileReader(path + filename);  
                           BufferedReader br = new BufferedReader(read);  
                           String row;  
                           while ((row = br.readLine()) != null) {  
                               lines++;  
                           }  
                           System.out.println("文件:" + path + filename+"共:"+lines+"行代码;");  
                           totalLine+=lines;  
                       } catch (Exception e) {  
                           e.printStackTrace();  
                       }  
                   }  
               } else {  
                   String paths = path;  
                   paths = paths + lists[i].getName() + "\\";  
                   System.out.println("进入目录:" + paths+";");  
                   countLine(paths);  
               }  
           }  
       }
       
       public static void main(String[] args) {  
           totalLine = 0;  
           String path = new String(  
                   "D:\\SS000\\SS000\\");//项目的绝对地址  
           //E:\\j2ee\\amigo\\amigo\\  
           countLine(path);  
           System.out.println("整个项目共:"+totalLine+"行代码;");  
       } 
    }

    展开全文
  • 统计项目有多少行代码

    千次阅读 2016-12-29 15:10:02
    原理:使用File查询工具来查询有多少个符。 步骤: 1、打开Search中的File Search, 2、在containg text中输入\n,勾选Regular expression(正则表达式), 3、File name patterns则输入*.java(如果想把...

    工具:Eclipse,或Eclipse衍生的开发工具。

    原理:使用File查询工具来查询有多少个换行符。

    步骤:

    1、打开Search中的File Search,

    2、在containg text中输入\n,勾选Regular expression(正则表达式),

    3、File name patterns则输入*.java(如果想把其他的文件也算进去,可以继续,*.js, *.jsp……),

    4、Scope选中Enclosing Projects统计选中的项目(如果是统计选中的资源,则Scope选择selected resources)

    图文教程

    展开全文
  • 一个有多人参与过的项目中,不知道其他人没有和我一样会去想:当前这个项目有多少行代码是我写的,有多少行代码是其他人写的? 方法一 我们知道,git blame 的命令可以查看一个文件的每一行代码的最...


    本篇内容仅对 Linux/Mac 友好,Windows 开发者请勿介意。

    在一个有多人参与过的项目中,不知道其他人有没有和我一样会去想:当前这个项目有多少行代码是我写的,有多少行代码是其他人写的?

    方法一

    我们知道,git blame 的命令可以查看一个文件的每一行代码的最终修改者,如下:

    在这里插入图片描述

    git ls-files 可以列出所有提交到 git 上的文件。那么组合这两个命令,再加上 grep sort uniq 等其他命令,过滤出作者信息并统计排序,就可以得出结果了。

    Ubuntu

    下面是在 ubuntu 上的代码:

    for file in `git ls-files |grep -P "(\.xml)|(\.java)|(\.md)|(\.gradle)|(\.kt)"`; do git blame -c $file |perl -pe 's/^[^\(]+\(\s*+([^\s]+)\s.+/\1/g'; done |sort |uniq -c |sort -rn
    

    这里解释一下。Ubuntu 的 grep 需要加 -P 参数才能使用复杂的正则表达式。由于是 Android 项目,所以这里只过滤出 xml、java、markdown、gradle 及 kotlin 文件,然后使用 git blame -c 查看每一行的作者,它的格式是这样的:

    81f173a6d9      (      msdx     2018-11-02 12:20:37 +0800       22)        classpath 'com.githang:fir:0.6'
    73b2575d2d      (      msdx     2018-10-17 17:12:08 +0800       23)        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.71'
    73b2575d2d      (      msdx     2018-10-17 17:12:08 +0800       24)        classpath 'org.jetbrains.kotlin:kotlin-android-extensions:1.2.71'
    8c59994eec      (      msdx     2018-02-23 14:21:54 +0800       25)        classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.8.2'
    

    所以使用 perl 命令把中间的作者名称过滤出来。这里 perl 的使用与 sed 类似。然后是循环结束,这时候输出的是每一行的作者,所以使用 sort 按作者进行排序,再使用 uniq -c 统计每个作者出现的次数,最后再使用 sort -rn 按次数由大到小进行排序,最终得出结果如下:

    48353 msdx
    1114 huangxingwei
     401 lixiaoqiang
      92 huanghaohang
      48 yoojia.chen
    

    Mac

    上面的命令,在 Mac 上使用 grep -P 参数并没有效果,所以我调整为分别使用 -e 指定包含的文件名,最终脚本如下:

    for file in `git ls-files |grep -e "\.xml" -e "\.java" -e "\.md" -e "\.gradle" -e "\.kt"`; do git blame -c $file |perl -pe 's/^[^\(]+\(\s*+([^\s]+)\s.+/\1/g'; done |sort| uniq -c |sort -rn
    

    方法二

    上面是自己想的办法。但如果在 Ubuntu 使用 man git blame 查看过 git blame 的帮助文档的话,会发现官方文档上提供了另一种查看统计每个作者贡献行数的方法,如下:

    # count the number of lines attributed to each author
    git blame --line-porcelain file |
    sed -n 's/^author //p' |
    sort | uniq -c | sort -rn
    

    所以我们把上面脚本中的循环体内容换成这里的方式,就不用写那么复杂的过滤作者正则表达式了。

    Ubuntu

    Ubuntu 下命令如下:

    for file in `git ls-fles |grep -P "(\.xml)|(\.java)|(\.md)|(\.gradle)|(\.kt)"`; do git blame --line-porcelain $file |sed -n 's/^author //p'; done |sort |uniq -c |sort -rn
    

    Mac

    对应的,Mac 的命令修改如下:

    for file in `git ls-files |grep -e "\.xml" -e "\.java" -e "\.md" -e "\.gradle" -e "\.kt"`; do git blame --line-porcelain $file|sed -n 's/^author //p'; done |sort |uniq -c |sort -rn
    

    同一作者不同名称的问题

    你可能会发现一个问题,这两种统计都依赖于提交时的作者信息,如果在不同维护时期设置的作者及邮件不同,那么就会统计成不同的人出来。比如前面的 msdxhuanghaohang 都是我一个人。那么应该如何统计成一个人呢?
    方法很简单,在根目录下增加一个 .mailmap 的文件,里面的内容是作者名称及邮件的对应关系,如下:

    黄浩杭	<huanghaohang@parkingwang.com>
    黄浩杭	<645079761@qq.com>
    

    再统计,就按配置的作者名称显示出来了:

    48823 黄浩杭
    # ...下面略
    

    输出统计耗时

    上面统计的命令,可能运行的时间会比较长,所以可以把它放到一个脚本文件,然后添加执行权限并把脚本所在位置添加到 path 变量中,然后执行这个脚本文件,在后面加上 & 使它在后台执行。
    另外,我们可以加上耗时统计,获取统计前后的秒数,计算它们之差得出耗时秒数。这里获取秒数,在 Ubuntu 和 Mac 上方法不同,最终脚本如下:

    Ubuntu 最终脚本

    #!/bin/bash
    
    start=`date +%s.%N`
    
    for file in `git ls-fles |grep -P "(\.xml)|(\.java)|(\.md)|(\.gradle)|(\.kt)"`; do git blame --line-porcelain $file |sed -n 's/^author //p'; done |sort |uniq -c |sort -rn
    
    end=`date +%s.%N`
    echo 统计共耗时`echo "$end - $start" |bc -l`

    Mac 最终脚本

    #!/bin/bash
    
    start=`date +%s.%S`
    
    for file in `git ls-files |grep -e "\.xml" -e "\.java" -e "\.md" -e "\.gradle" -e "\.kt"`; do git blame --line-porcelain $file|sed -n 's/^author //p'; done |sort |uniq -c |sort -rn
    
    end=`date +%s.%S`
    echo 统计共耗时`echo "$end - $start" |bc -l`
    展开全文
  • 统计你的项目有多少行代码

    热门讨论 2008-12-20 14:54:35
    统计你的项目有多少行代码,选中项目所在文件夹,执行统计功能。.NET C#代码。
  • 一行命令快速统计项目代码行数

    千次阅读 2018-09-15 00:30:06
    平时看开源项目,经常想了解一下该项目到底有多少行代码,直接用3命令管道连接起来就可以解决,不需要使用复杂的工具。 比如统计java项目java代码总共多少行. find . -name *.java -exec wc -l {} \; | awk '{...

    平时看开源项目,经常想了解一下该项目到底有多少行代码,直接用3个命令管道连接起来就可以解决,不需要使用复杂的工具。

    比如统计java项目java代码总共多少行.

    find . -name *.java  -exec wc -l  {} \; | awk '{s+=$1}END{print s}'

    统计其他语言的只要把*.java 后缀更换为对应的语言后缀即可  比如*.scala  *.go

    展开全文
  • 只需要一个java代码全部搞定。public class JavaHangShu { private static int total; private static int src; public static void main(String[] args) throws Exception { File file=new File("E:/eclipse
  • 记得以前位大师说,一个程序员如果没有写满1,000,000行代码,那么不是一个成熟的程序员.  /** * codelinesstatistic 2008-6-20 TangRen * Copyright www.tonydev.cn 2008 */ package ...
  • import java.io.BufferedReader; import java.io.File; import java.io.FileReader;... * 6、对项目中所写的Java代码进行计数,看总共写了多少行代码 * 遍历指定文件夹,是文件的前提下判断文件的后缀名是不是ja...
  • eclipse中查看项目有多少行代码

    千次阅读 2016-03-22 20:57:36
    今天老大让我统计下我的项目有多少行代码听,脑袋就蒙圈了,怎么统计?后来在网上查了一下,有个方法比较好,这里总结一下:  1.点击search按钮,找到file点击  2.进入之后,首先把搜索的内容设置为\n,选中...
  • QT5.7代码行统计工具

    2017-06-20 00:59:47
    用QT5.7实现的简单代码行统计工具
  • 如何统计项目代码行数

    千次阅读 2018-04-03 16:54:30
    2、调用以下命令即可把每代码文件行数及总数统计出来(1)包括空行(会列出每文件的代码行数):find . "(" -name "*.m" -or -name "*.mm" -or -name "*.c" -or -...
  • 一行脚本快速统计Java项目代码行数

    千次阅读 2019-03-20 22:08:00
    2019独角兽企业重金招聘Python工程师标准>>> ...一行命令快速统计项目代码行数 exec与xargs区别 shell编程之awk命令详解 转载于:https://my.oschina.net/liuxiaomian/blog/3025414
  • 作为名程序员,我们很想知道自己到底提交了多少行代码到远程仓库,没有什么工具能够帮我们统计自己写过的代码行数呢?答案是的。这是本次博文的最终效果。 对于代码提交行数统计,通过git 的系统命令就能做到...
  • //软著只需要3000行代码 /*if (codeLineCount > 3000) { break; }*/ if(tempString.find("//")!= string::npos || tempString.find("/*") != string::npos) { cout 注释" ; ...
  • 统计项目代码行数工具,如何统计代码行数。

    千次阅读 多人点赞 2019-11-08 08:49:28
    统计项目代码行数工具,如何统计代码行数。 今天谷谷咕咕给大家介绍款简便的代码统计行数的工具。无需安装,使用也非常简单。 点击打开文件夹,选择你要统计的项目目录。 点击设置,选择你需要统计代码文件的类型...
  • 进入git工程本地存储目录,然后右键-Git...1、统计项目中个人代码量(这里以我git提交代码时的用户名“futao3”为例): git log --author=“futao3” --pretty=tformat: --numstat | awk ‘{ add += $1; subs += $2...
  • 马上交毕设了,学校说最好申请一个软著,申请软著就离不开你的代码量了。听老师说软著代码行数要在10000以上,那你这里怎么知道我们要填多少呢? 兄台这是要干啥? 莫不是要手数? 且慢且慢!!看下文???? ...
  • PyCharm 计算一个项目代码行数

    千次阅读 2020-08-30 15:48:05
    该插件需要Java1.8环境变量支持,没有安装JRE的同学需要先安装Java1.8,部署JRE环境。 ... 1、下载 statistics 插件 ... ...2、我这里下载的是Statistic-4.1.4 ...3、PyCharm -- Settings -- Plugins -- Install...
  • C#有效代码行数统计

    2015-02-09 15:06:02
    C#有效代码行数统计, 暂时支持C#语言,包括一些基本的统计功能
  • 15 优秀开源的 Spring Boot 学习项目,一网打尽!

    万次阅读 多人点赞 2019-12-12 11:44:43
    Spring Boot 算是目前 Java 领域最火的技术栈了,松哥年初出版的 《Spring Boot + Vue 全栈开发实战》迄今为止已经加印了 8 次...当然就是开源项目了,今天松哥整理了几优质 Spring Boot 开源项目给大家参考,希望...
  • AndroidStudio统计项目中的代码

    千次阅读 2018-07-14 16:25:40
    公司自己的项目,在申请版权的时候,在“计算机软件著作权登记申请表”中需要填写项目的代码量,于是网上查找了资料发现很多都说的是AndroidStudio展示当前行号什么的,并不是真正的统计项目代码量。一些资料中...
  • 来测试下 2019 你一共写了多少行代码

    万次阅读 多人点赞 2020-01-06 09:22:27
    文章目录导入所需的库定义要读取的文件地址指定你要读取的...这程序需要用到的库:os,time 这两库都是 Python 自带的,所以我们直接 import 就 import os import time 现在我们已经导入要使用的库了,可以...
  • AndroidStudio统计项目中的代码行数

    千次阅读 2019-01-17 15:04:40
    前言: 公司项目在申请软件著作权或者其他用处的时候需要统计工程中的代码行数,那么多代码不可能一个一个文件进去看吧,Android Studio专门的插件来看详细的代码信息 1、安装插件Statistic  这里我是已经...
  • 分享统计Java web项目的行数的代码

    千次阅读 2016-11-09 10:17:17
    统计Java项目的行数
  • 统计Java web项目的行数的代码

    千次阅读 2016-11-30 13:14:16
    可以自动统计Java项目中后缀为.java,.js,.css文件的行数,空行自动忽略 main方法中传入Java项目的绝对路径即可 package com.bjfl.electric.lottery.test; import java.io.BufferedReader; import java.io....
  • IDEA中统计项目代码的总行数

    千次阅读 2019-06-24 11:23:00
    plugins标签 点击下面“Browse repositories”按扭,浏览插件仓库 搜索“Statistic”插件,点击 install 根据提示重启 Idea 在idea下方任务栏,选择点击“Statistic”,然后点击 “refresh”,就会看到代码统计结果 ...
  • git工具统计项目代码行数

    千次阅读 2020-11-25 16:52:18
    1、git 查看代码项目总行数 (1)打开Git终端,进入项目的根目录 git log --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, ...
  • 代码统计工具 可统计项目行数

    热门讨论 2011-05-12 14:58:05
    可用于对VC++、C++ Builder、Delphi、VB、C/C++、ASM、Java、C#、SQL 等程序源码进行详细的统计,可以准确的分析出程序中代码行、注释和空白的行数。程序会自动根据你选择的文件类型选择相应的统计方式,并将...
  • IntelliJ IDEA统计项目代码行数

    万次阅读 2020-05-09 09:26:13
    步首先需要知道idea统计项目代码行数,主要是使用Statistic插件来统计,点击File->Settings,如下图所示: 第二步进去Settings界面之后,点击Plugins,然后点击下方正中间的Browse repositories...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 133,648
精华内容 53,459
关键字:

如何统计一个项目有多少行代码