当然这里列出的全部是一些技术上的点,其他的全部略过~
1. 日常开发
作为互联网技术从业人员,日常开发就是我们的本职工作。在熟悉了一个公司的开发流程和使用的开发技术后,就开始进入一个貌似是死循环的开发过程。其实从态度上来讲,在完成了3-5个日常项目流程后,可能觉得一些枯燥。像一个也算是新人的同事和我抱怨,现在的开发好无聊。其实怎么讲呢,萌生这样的心态是很正常的。每次都做一样的事,重复劳动是程序员的大忌。然而我们真的是在做重复的事情么?世界上有两件事是最美的,一是创造,一是欣赏。基本每个大公司都有自己的框架,自己的技术体系,学会使用只是一个皮毛,了解原理深入源码会发现艺术感的美妙。为什么设计成这样给我们带来了思考,不要抱怨一个框架的好坏,觉得好用,哪里好用,找出来,总结好;觉得烂,OK,哪里烂,从作者的角度去考虑,他这样设计在权衡了哪些优缺点后才这样设计。我们看各种书和文章,知道了jee开发框架的各种优缺点,知道了设计模式的各种指标和应用。但是为什么这样设计?有人讲设计模式根本不算发明,只是日常思维的总结。是,那为什么我们总结不出来?GOF就可以呢?日常开发,分两个角度看,你的态度决定一切,只是一味的做,那必然无趣,不断的去挖掘开发用到的技术的内涵,你会觉得,让日常来的更猛烈些吧~
谈完了态度,谈谈纯技术上的点。就web开发框架来说,最初掌握的一定是其基本框架,就像spring的管理bean的IOC容器,AOP,对ORM及service的支持等等。会用这些东西后,就开始考虑流程用到的各个部分为什么这样设计。比如就拿spring的IOC讲,bean的加载,注册,及整个的管理机制,熟悉,源码阅读,这都是必备的工作。像我们使用webx,与spring类似,那么它的各套流程是什么?我们开始加载配置,那么好吧,service是什么时候来的,都是哪些service,在哪里配置。加载pipeline的时候,每一个valve的invoke方法都做了什么。模板加载时候的具体定位怎么样~~等等这些流程都要清楚明白并且知道源码。为什么干这些,一是你知道的越多,你似乎越牛逼,其实关键是你知道了原理,在问题发生的时候,定位问题的时间就越短,解决问题就越快。
2.测试
不是写好单元测试就OK的~~做过开发自测的同学都知道测试的辛苦,前些日子做一个功能日常的自测,我光测试账号就领了11个,账号之间关系复杂,各种好友、关注等等。时不时还需要在纸上以网络示意图的形式记录账号之间的关系。测试是很辛苦的,关键是为了覆盖的全,我们必须有重复劳动和大规模覆盖的决心和耐心。可能更多的是耐心吧~
自测不是所有人都做的,更多的是开发完成后交给测试人员,别的公司我不清楚,我公司的测试有时候有些兼职产品的感觉,会提出各种功能上的改进。其实这也对,本着让产品更好的原则,每一个人的每一个建设性建议,我们都要接受。于是开发人员在这时就到了考验耐心的时候。虚心听别人的建议,然后决定是否改进,测试的时候就像考试时做检查,做题的感觉和检查题目的感觉是不一样的。耐心是坚韧的表现,去提高自己这一块的能力。
3.优化
工作虽然没多久,但总结的优化有两种,一种叫性能上优化,那是坚定了产品路线后,不断的完善。另一种叫推翻重做(鄙视)。
性能优化书籍一大把,我的优化经验也少的可怜,目前只是做了代码重构,通过减少服务调用和优化存储数据结构来提升了大概20-50%的性能。还有一个补充就算是界面优化,当然这多数是交给前端开发人员做的事情了,但经过一段前端打杂后,发现一个了解前端技术的开发是多么的游刃有余(有点自大了)
先就总结这么多吧。半年来还是有不少浪费时间的情况存在,下半年努力~~fighting