Java开发成长之路第六年

  • 介绍

到了第六个年头上,各位可能或多或少地带过一些新人,可能是团队中的小leader。但是,学习的脚步一刻都不能停下来,这如逆水行舟,不学就会落后,落后就会挨打。

研究各种开源框架这种事情现在应该蜕变成您的基本功,是基础训练的一部分。而Java的基础知识、计算机的基本运行原理、算法等都将是您必修课。所以说,现在要学习的东西太多了,要花的时间更是不在少数。毕竟,老学旧的东西也不行,必然还是要花时间来学习新的内容,从横向河纵向上来让自己稳步成长。

  • 框架

https://github.com/LinuxSuRen/phoenix

软件研发和其他任何劳动都有一个共同的特点:就是要站在巨人(前人)的肩膀上继续前行。翻译成为行话,我们写的代码必须是可重用的,不要造重复的轮子。

以上的大道理我就不在多说,每个人都听说过不少。而我的个人经验证明,不能仅仅停留在使用别人做的框架、工具上,必须敢于、用于、善于创造新的东西出来。到了六年的Java开发头上 ,是应该考虑自己写一个框架出来了。

在一次公开课上,有个学生提了一个非常好的问题——什么是框架,框架和工具有什么区别。这当然是仁者见仁智者见智的问题,但还是有些规律可循,之所以能称之为框架、组件、工具的话,还是有一些他们的特点的。框架一定不是拿来就可以直接产生某种效果或者成果的,它多半是为了解决某一层面的问题,而不是整体解决方案;好的框架一定是已于扩展,具有一定层面或者领域的通用解决思路,它一定不是只能运用在一个项目上,它能被应用的项目越多我认为就越接近于成果。

一开始给出的链接,就是我16年下半年写出来的一个WebUI自动化测试框架的雏形。它主要解决的是:测试人员开发水平普遍偏低导致难以编写自动化测试脚本的问题,直接调用WebDriver的API特别繁琐的问题,元素定位、数据源、测试用例严重耦合的问题,各种格式数据(身份证、随机数字或者字符串、邮编、唯一校验性)的填充问题。

通过重新开发一个框架或者工具,能够有效地暴露自己在设计、研发上的能力不足。没有任何实际项目支撑的新技术学习都是失败的、无效的,这正是巩固和提高的绝佳机会。

这里有个不争的事实,想要在公司的项目上采用新技术,是非常困难的,即便你就是技术负责人——采用新技术的风险还是非常大的。要考虑人员的学习成本、在应用新技术时遇到难题的风险、是否要对现有的程序进行重构的风险、新技术是否会不稳定的风险等等。所以,只有在自己玩弄的代码上应用会显得必要。

我个人对开源技术是非常认同的,如果你有好的点子,好的架构,就放出来让市场来检验吧。

  • 项目管理

开发其实只是一个项目生命流程中的一个步骤而已,仅仅知道怎么coding已经慢慢地成为我们发展的瓶颈了。

  • 高性能及大并发

仅仅是知道如何写一个多线程类,已经是远远不够的了,我们需要有能力还编写出高性能、大并发的应用,例如:服务器端接收客户端的请求等。为了能应对这种场景,我们需要增强对《Java多线程》、《Java集合中的线程安全问题》的掌握。

  • Maven

您到这个阶段应该学会开发Maven插件,这里有片文章可以帮助到您《Maven插件开发》。如果您还了解Eclipse插件开发的话,我这里推荐一篇m2e插件扩展点的介绍《Maven插件m2e相关扩展点》。

通过阅读《Maven骨架archetype》你可以创建一个“骨架”,之后再利用“骨架”来创建工程(project)时就可以把项目中约定的内容自动地添加好了。例如,约定的目录、包结构,struts.xml、applicationContext.xml等配置文件。

  • Jenkins

《Jenkins》详细地介绍了Jenkins。

  • 本系列文章

Java开发成长之路第一年

Java开发成长之路第二年

Java开发成长之路第三年

Java开发成长之路第四年

Java开发成长之路第五年

Java开发成长之路第六年

Java开发成长之路第七年

发表评论

电子邮件地址不会被公开。 必填项已用*标注