首页 > 代码库 > ”4635“——这三个月以来的成就。
”4635“——这三个月以来的成就。
今天晚上突发奇想,想算一下到新公司三个月以来所写的代码量。上网找了一下没有现成的解决方案。最后找了大牛同事,同事也没做过这个事情,不过算是找到了解决方案:利用shell去查找,不过速度真心够慢的。最后还是自己写了一个java代码去计算自己的代码量。
计算行数代码如下:
public static long totalCount; //rootFile是根文件夹 public void readJava(String author,File rootFile) { File[] files = rootFile.listFiles(); for (File file : files) { if (file.isFile() && (file.getName().endsWith("java") || file.getName().endsWith("js"))) { try { getCount(author, file); } catch (IOException e) { e.printStackTrace(); } } if (file.isDirectory()) { readJava(author,file); } } } public long getCount(String author, File file) throws IOException { boolean belongToAuthorFlag = false; long count = 0; FileReader fileReader = new FileReader(file); BufferedReader reader = new BufferedReader(fileReader); String content = ""; while ((content = reader.readLine()) != null) { count++; if (!belongToAuthorFlag && content.contains(author)) { belongToAuthorFlag = true; } } reader.close(); if (belongToAuthorFlag) { totalCount += count; System.out.println(count + "---" + file.getName()); } return totalCount; } public static void main(String[] args) { CountCodeUtil countCode = new CountCodeUtil(); String rootPath = "/home/liubin/workspace/tz"; File rootFile = new File(rootPath); System.out.println("startTime:" + new Date()); countCode.readJava("dingguangxian",rootFile); System.out.println("startTime:" + new Date()); System.out.println("totalCount:" + totalCount); }
这个代码还是有些缺点的,可以不用读取整个文件的,如果读到public class还没有找到符合的字符串就可以换下一个文件。然后就是没有将空换行除去和一半的花括弧‘}’去除。
不过还是将就能用的。
我自己的结果就是4635行,同事也是比较惊讶,竟然能写这么多。毕竟大牛同事在公司有两年了,代码量是2.5W行。当然了行数不能代表什么,我的代码质量当然不能和大牛比了。但这个也算是我正式工作以来的成绩吧。后面还得继续努力。提高代码的质量
”4635“——这三个月以来的成就。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。