工作快两年了的一些感触

从07年11月份开始,算是正式开始了第一个Java项目。从一个字符串解析做起,直到今天的轻量级框架维护,实打实也写了一两万行代码,看了几本书,学了些东西,有些感触吐一吐。

1 从代码讲起:

首先写程序是个很简单的事情,但是把程序写好确实很多人一辈子都做不好的事情。一个清晰的结构,一个简单的逻辑,一个严密而又高效的程序,这中间,至少需要3年到5年的功力。

好的代码不仅仅是让人舒服的格式,清晰的排版,适当的注视,更重要的是简单而又清晰,举个例子,一个打印程序,要求打出

****

 ***

  **

   *

 

项目组所有的人都用for循环处理,五行代码,可是项目组最牛的兄弟告诉我们,一行搞定

 

System.out.println("****"/" ***"/" **"/" *");

 

很多简单的事情,被人为的搞复杂了。技术上追求的,永远都是最简单的实现。

 

有的人会很排斥,会提及可扩展性,提及可维护性……

2 话题扯到这里,就提到设计层面

 

但凡做过几个比较大的项目的人,应该都会比较熟悉重构的概念。软件工程领域因为有了重构而获得了新生。

项目紧,人力不够,干扰较多,N多事情都是困扰项目顺利交付和交付质量的因素。所以用EA画出设计图和时序图,做好基本的设计,就可以开始编码了,随着版本的增加和特性的增多以及功能的扩展,后续的工作,就是重构。无论设计再优秀的程序,总是不断变化的,原有的设计理念和思路都会随着工作的深入而不断变化,甚至整个架构,都有可能推倒重来。因此重构就成为唯一的解决方案。一堆复杂的代码,可以通过提炼出几个接口,抽象出几个抽象类,适当的用上些设计模式的东西就会重新成为一个优秀的设计。而此时,你的项目也顺利交付了。

 

3 最后简单的谈谈能力的提升

吃程序员这碗饭的,始终伴随着学习,尽管学习的成本和难度会随着实力的提升越来越低,但是学习仍旧是程序员永恒不变的话题。

学习的目标,为工作而学习,决不要为学习而学习,除非在学校里,你已经是一个很优秀的学生,有着清晰的理想和确定的目标。

学习的内容以及方式,跟随你身边的牛人,阅读他们的代码,向他们请教,问他们看哪些书,和他们讨论,与他们争吵,当你彻底融入他们的时候,你就成为他们了。

 

末了,推荐三本书: 重构    HeadFirst设计模式        敏捷软件开发 : 原则,模式与实践

 

 

展开阅读全文

没有更多推荐了,返回首页