扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
以1000行为准,超过千行就要考虑类拆分了。
创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、成都做网站、外贸营销网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的克拉玛依区网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
类的代码行数没有特定的行数限制规范。根据实际情况决定。
对于经常使用的java类,代码行数应该尽可能的少,这样能减少java类的加载时间,减少内存频繁占用和回收。如果类过大,java类加载会耗时并且占用内存大。容易引起内存回收。
hotspot 虚拟机(咱们平时开发用的sun公司的虚拟机,其他两大商用虚拟机是BEA的JRockit和IBM的J9)里面两个字节来限制大小,所以最多65536行,超过javac会无法编译。而且一个Java方法不能超过64k。一般一个Java类不要有太多行数,如果一个Java代码超过几千甚至过万,个人觉得应该考虑一些代码优化方式,比如继承;或者重新构思这个类。代码行数太多可读性查,不利于维护。
看到你这个问题,感觉蛮有意思的,所以写了个递归方法,可以计算出项目有多少行代码
public class ItemCount
{
private int lineCount;
private int fileCount;
public int getLineCount()
{
return lineCount;
}
public int getFileCount()
{
return fileCount;
}
public static void main(String[] args) throws IOException
{
ItemCount itemCount = new ItemCount();
//path的值就是你的项目路径
String path = "E:\\lucene\\src";
itemCount.getItemLineNum(new File(path));
System.out.println("该项目一共有"+itemCount.getFileCount()+"个java源文件,"+itemCount.getLineCount()+"行代码");
}
//递归
public void getItemLineNum(File path) throws IOException{
if(path.isFile() path.getName().endsWith(".java")){
BufferedReader br = new BufferedReader(new FileReader(path));
fileCount++;
while(br.readLine()!=null){
lineCount++;
}
System.out.println(path.getName());
br.close();
}else if(path.isDirectory()){
File[] listFiles = path.listFiles();
for (File file : listFiles)
{
getItemLineNum(file);
}
}
}
}
一般的电商项目大概5万行左右,但是有80%是框架自带的或者自动生成的代码。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流