java一个类里有多少行代码合适?
没有特定多少行,根据实际情况该写多少行就写多少行
看过几千行的代码,目前还没遇到一个java类代码行数超出的问题,不过经常用的java类的代码行数越少越好,尽量让方法独立,功能独立,加载java类是需要花时间的,合理分配最好。
Linux下如何统计代码行数?
谢谢邀请,
在linux下编程已经玩了十几年在这个巨无霸里面很多有意思的事情,特别是脚本熟练使用能够极大的提高代码开发效率。记得刚开始接触linux的时候,觉得这东西太有意思了,于是工作前两年在linux下的功夫特别大,看到脚本就想研究,差不多在工作一年多的时候,公司整个的编译体系给重构掉了,大家只要发生编译的问题或者环境问题都会第一时间来找我,刚入行的那份成就感,已经无法用语言来表达了。linux下的cmake,automake, autoconf, m4, perl, bash,ash,qmake等自动编译体系看到这些东西就来劲,后来在写代码的时候都习惯用vim直接来编写了,虽然在联想等方面有一些差异,但用熟练了效率非常高。
为什么很多人都有一个linux情怀,主要还是现在编程语言多少和linux有一定的关联,C语言创始人在创建C语言的时候,本来就是把unix绑在一起搞的,所以很多程序员喜欢Mac,也有这么点历史渊源,闲扯了这么多,主要提到linux本身有很多话语要将,而且将来一定还会继续坚持在这上面玩耍,回到正题linux下如何统计代码行数?
可以直接借助工具来完成,也可以直接采用脚本来完成,现在就根据自己接触到一些工具或者命令行在做这个事情。
1.直接采用wc命令
现在选取webkit内核源码中一个解析form表单的cpp文件进行行号的统计FormSubmission.cpp
wc -l FormSubmission.cpp
注意这个文件放的位置,在当前目录下
这个文件行号就是254,为了验证准确性,现在直接采用vim方式打开,看到最后一行是254
如果想了解更多wc命令的用法可以使用下面方法,进入学习状态之后方法总比困难多
2.cat命令
cat -n FormSubmission.cpp
直接在最底层显示的就是行号了
3.nl FormSubmission.cpp
4.less -N FormSubmission.cpp
直接分行显示后面直接滚动到最后一行
5.awk '{print NR,$0}' FormSubmission.cpp
awk在处理输出文本上有极大的作用
还可以再继续优化
6.sed -n '$=' FormSubmission.cpp
sed一种在线编辑器,一次只是处理一行内容
7.cat FormSubmission.cpp | wc -l
来个组合处理拿到行号
其实统计一个文件的行号只是一种很简单的功能,但在linux可以玩出很多的花样,因为喜欢才会想着有这么多的方法去解决这个问题,虽然linux在桌面系统占比不是很高,但在程序员领域却是相当受欢迎,很多做程序的基本上都喜欢玩linux,不懂linux的程序员会觉得留有遗憾。
linux是一门值得研究一辈子的操作系统。
Java程序员面试中容易被问哪些问题?
由于我每年都会面试不少程序员,其中就包括相当数量的Java程序员,所以就这个问题,跟头条的广大网友交流一下。
Java工程师面试也是有一定的侧重点,做不同的研发方向,问题上也有所区别。另外,初级程序员与主力程序员的面试问题也有很大的不同,总的来说就是方向与定位相结合,下面为大家一一描述。
Java初级程序员面试
面试Java初级程序员的流程相对来说比较简单,通常是两轮面试,首轮面试一般进行技术面试,次轮面试通常是有HR统一安排关于职业规划以及心理方面的面试(大部分情况是走个流程),这两轮面试中,技术面试起到了关键的作用。
面试初级程序员(2-3级)一般从技术细节入手,要通过面试,首先要知道初级程序员都需要具备哪些能力。下面先描述一下作为一个Java初级程序员(2-3级,Web方向为主)应该满足哪些要求:
清晰Java面向对象编程步骤,理解封装、继承、多态等核心概念,理解基本的前端内容(HTML、CSS、JavaScript)。
能理解程序流程图描述的功能需求,能独立完成功能模块的编写、部署,能理解功能模块之间的交互关系,能完成功能模块之间的消息传递和处理。
能理解MVC、DAO等框架,并在实际开发中熟练使用,能独立完成前后台的数据处理,能完成各种认证功能的处理。
能使用数据库连接池等基本优化方式提高程序运行效率。
能理解容器在程序运行中的作用,能配置各种容器的基本参数。
对程序的安全性有一定的理解,能避免初级的安全性问题。
能处理一定数量的并发问题,能解决多线程情况下的数据安全问题。
能理解不同角色的任务分配,能进行有效沟通。
常见框架的使用,比如SpringMVC等。
初级程序员的工作往往是编写程序基本功能组件,是保证程序质量的一个重要环节,所以团队的整体能力往往并不是由架构师决定的,反而是由众多的初级程序员决定的。
Java主力程序员面试
主力程序员的面试通常要3轮或4轮,当然如果你走到了后面的两轮,基本上选择权就在你手里了,后面的两轮面试公司会给你安排一个看似比较美好的职业发展规划,因为主力程序员不仅要编码通常还承担者一部分管理工作(项目责任人),也是管理层比较倚重的。
主力程序员的技术面试流程并没有那么多细节问题,首先要了解一下做过哪些项目,在项目中都承担了什么任务,项目中遇到了哪些问题,怎么解决的等等。通常主力程序员的面试时间也比较长(2至3个小时),面试的氛围也比初级程序员要轻松很多。
主力程序员大部分是推荐上来的,有人力资源公司推荐的,也有公司内推上来的,当然也有主动投送简历要求面试的。一般对主力程序员都会有背景调查,这一方面是对公司负责,另一方面也是对应聘者应有的尊重。
希望通过我的回答,大家能对Java程序员的面试有一个基本的了解。
我是悟空问答的签约作者,致力于为头条网友提供优质的科技类问题解答,关注我,跟我一起交流关于科技类的问题吧。

