工作快两年了的一些感触
2009-04-27 22:37
375 查看
从07年11月份开始,算是正式开始了第一个Java项目。从一个字符串解析做起,直到今天的轻量级框架维护,实打实也写了一两万行代码,看了几本书,学了些东西,有些感触吐一吐。
1 从代码讲起:
首先写程序是个很简单的事情,但是把程序写好确实很多人一辈子都做不好的事情。一个清晰的结构,一个简单的逻辑,一个严密而又高效的程序,这中间,至少需要3年到5年的功力。
好的代码不仅仅是让人舒服的格式,清晰的排版,适当的注视,更重要的是简单而又清晰,举个例子,一个打印程序,要求打出
****
***
**
*
项目组所有的人都用for循环处理,五行代码,可是项目组最牛的兄弟告诉我们,一行搞定
System.out.println("****"/" ***"/" **"/" *");
很多简单的事情,被人为的搞复杂了。技术上追求的,永远都是最简单的实现。
有的人会很排斥,会提及可扩展性,提及可维护性……
2 话题扯到这里,就提到设计层面
但凡做过几个比较大的项目的人,应该都会比较熟悉重构的概念。软件工程领域因为有了重构而获得了新生。
项目紧,人力不够,干扰较多,N多事情都是困扰项目顺利交付和交付质量的因素。所以用EA画出设计图和时序图,做好基本的设计,就可以开始编码了,随着版本的增加和特性的增多以及功能的扩展,后续的工作,就是重构。无论设计再优秀的程序,总是不断变化的,原有的设计理念和思路都会随着工作的深入而不断变化,甚至整个架构,都有可能推倒重来。因此重构就成为唯一的解决方案。一堆复杂的代码,可以通过提炼出几个接口,抽象出几个抽象类,适当的用上些设计模式的东西就会重新成为一个优秀的设计。而此时,你的项目也顺利交付了。
3 最后简单的谈谈能力的提升
吃程序员这碗饭的,始终伴随着学习,尽管学习的成本和难度会随着实力的提升越来越低,但是学习仍旧是程序员永恒不变的话题。
学习的目标,为工作而学习,决不要为学习而学习,除非在学校里,你已经是一个很优秀的学生,有着清晰的理想和确定的目标。
学习的内容以及方式,跟随你身边的牛人,阅读他们的代码,向他们请教,问他们看哪些书,和他们讨论,与他们争吵,当你彻底融入他们的时候,你就成为他们了。
末了,推荐三本书: 重构 HeadFirst设计模式 敏捷软件开发 : 原则,模式与实践
1 从代码讲起:
首先写程序是个很简单的事情,但是把程序写好确实很多人一辈子都做不好的事情。一个清晰的结构,一个简单的逻辑,一个严密而又高效的程序,这中间,至少需要3年到5年的功力。
好的代码不仅仅是让人舒服的格式,清晰的排版,适当的注视,更重要的是简单而又清晰,举个例子,一个打印程序,要求打出
****
***
**
*
项目组所有的人都用for循环处理,五行代码,可是项目组最牛的兄弟告诉我们,一行搞定
System.out.println("****"/" ***"/" **"/" *");
很多简单的事情,被人为的搞复杂了。技术上追求的,永远都是最简单的实现。
有的人会很排斥,会提及可扩展性,提及可维护性……
2 话题扯到这里,就提到设计层面
但凡做过几个比较大的项目的人,应该都会比较熟悉重构的概念。软件工程领域因为有了重构而获得了新生。
项目紧,人力不够,干扰较多,N多事情都是困扰项目顺利交付和交付质量的因素。所以用EA画出设计图和时序图,做好基本的设计,就可以开始编码了,随着版本的增加和特性的增多以及功能的扩展,后续的工作,就是重构。无论设计再优秀的程序,总是不断变化的,原有的设计理念和思路都会随着工作的深入而不断变化,甚至整个架构,都有可能推倒重来。因此重构就成为唯一的解决方案。一堆复杂的代码,可以通过提炼出几个接口,抽象出几个抽象类,适当的用上些设计模式的东西就会重新成为一个优秀的设计。而此时,你的项目也顺利交付了。
3 最后简单的谈谈能力的提升
吃程序员这碗饭的,始终伴随着学习,尽管学习的成本和难度会随着实力的提升越来越低,但是学习仍旧是程序员永恒不变的话题。
学习的目标,为工作而学习,决不要为学习而学习,除非在学校里,你已经是一个很优秀的学生,有着清晰的理想和确定的目标。
学习的内容以及方式,跟随你身边的牛人,阅读他们的代码,向他们请教,问他们看哪些书,和他们讨论,与他们争吵,当你彻底融入他们的时候,你就成为他们了。
末了,推荐三本书: 重构 HeadFirst设计模式 敏捷软件开发 : 原则,模式与实践
相关文章推荐
- 工作的一些感触
- 写点工作两年的一些感想吧
- 对学习技术,工作的一些看法,两年工作经验
- 工作中使用seajs后的一些总结
- 2014_03_27工作日志:windows编程需要注意的一些内容。
- 收集一些关于职业规划/工作感想
- Liferay7 BPM门户开发之11: Activiti工作流程开发的一些统一规则和实现原理(完整版)
- 创业必读:做一些“糟糕”的工作
- 工作中关于合作一些的思考
- 初次接触web开发工作,一些经验教训
- 在外企工作,一些英語用法潜规则
- Eclipse IDE 使用技巧 (Eclipse工作空间小技巧)(自己的一些学习笔记和心得,记录下来,备忘录和复习使用)
- win2008服务器部署系统前需要做的一些工作
- 写代码的一些感触
- 两年工作总结
- 归纳整理一些工作学习中发现的不错的网站、博客地址等(转载)
- ADuC812单片机的一些功能设置以及对单片机执行指令的感触认识
- Java虚拟机的一些属性值获取(重点为 当前工作目录)
- 一些工作情感
- 两年制应届大专生从事软件测试工作月薪3800