最近一直在开发一款IDE,本来设计的目标只是一个单机版的客户端,不会连接任何服务端。后来用户突然加了一项需求,想要访问数据库,去查询一些数据。 其实这本来也不是什么怪异的需求,只是一种C/S系统而已。那时候刚听到这个需求的时候,马上想到的是,用hibernate, ibatis还是直接用JDBC。不如用ibatis吧,只需要查询几个表的几个字段而已,这一项刚好足够。 可是要增加数据库的支持时,心里特别的别扭,这款IDE的目标客户是遍布各个地方的,这一点就决定了,我们不可能用C/S的方法。 后来是在online system上加了一个web service,让这个IDE去调用。这样任何地方都可以访问这个服务了。 就算不论这一点,在考虑要用客户端直接连数据库的时候,心里面就像吃了蚂蚁似的,非常不爽。不知道是因为B/S系统做多了,还是因为觉得客户端直接连数据库本身就是一种不对的做法,总之现在已经有点不喜欢C/S结构的系统了,或者说,不喜欢客户端/数据库服务这样的系统。 不知道诸位程序员同
![](aggbug/1493585.aspx)
文章来源:
http://blog.csdn.net/Wingel/archive/2007/01/25/1493585.aspx
程序员有个偏好,那就是实现,他们喜欢把东西实现出来。这是一个优点,实现能力越强的人,一般编程能力也越强,我们也就可以说,他的技术越强。
但是喜欢实现却又是程序员的缺点,因为他们在实现一样东西的时候,经常会不想去理会其他的事情。比如说,程序员接到一项任务时,普通的程序员就马上会开始动手。稍微好一些的程序员则会仔细思考一下再动手。可惜,这样子也是程序员管理能力欠缺的一个原因。
当你的能力足够的时候,你应该懂得,把分配给你的任务计划一下,看看多久完成,如果你要把这个任务分块的话,尝试估计一下各个块的完成时间。不要因为担心预计得不准,就不去估计。因为有个计划给领导,绝对比没有的强。
开发经验逐渐增多的情况下,你已经有能力相对准确的计划自己的任务了。这时候你应该去找你的领导,把他今年可能会分配给你的任务看一下。这件事情很重要,因为你不做的话,你还只是一个程序员。因为你对自己的能力已经有了充分的认识,也能相对准确的估计你的开发进度了。你可以好好把今年的任务计划一下,把更新好的进度表给你的领导。因为他对你开发进度的估计,怎么样都没有你自己估计的准确。你能给一份计划,他会很开心。
现在,你已经有能力计划自己整年的开发情况了。
但是计划会改变。
我们要拥抱计划的变更!
你跟客户,或者负责需求的人熟吗?只有时刻掌握着需求的变化,才能时刻把握好自己的计划。
你跟QA熟吗?QA对你这个人开发质量的印象如何?清楚自己的开发质量,才能保证把事情做好的能力一直在进步。
你跟领导熟吗?你保证你做的事情领导都知道吗?你想做什么领导也知道?
你敢不敢说,所有跟你有关的情况,都尽在你的掌握?
会不会觉得这些很像空话,很不实际!
但是有做总是有好处的!
你做得越多,你越过程序员就越快。因为你不能,也不想只是单线程的程序员!