论坛首页 综合技术论坛

如何在公司里舒服的活着

浏览 58960 次
该帖已经被评为精华帖
作者 正文
   发表时间:2011-04-22  
嫩们搞个网站也整上spring啊。。也整上PO啊。。也整上分N多层啊。。。。
0 请登录后投票
   发表时间:2011-04-22  
lookdd1 写道
嫩们搞个网站也整上spring啊。。也整上PO啊。。也整上分N多层啊。。。。

为什么整网站不能用spring?至于po(do)本来就是必备品呀。网站大了之后,我认为更要分层清晰。如web层和app层分开部署,通过一些如rmi,hessian之类的协议访问,还需要vo(dto)之类的。
0 请登录后投票
   发表时间:2011-04-23  
这跟老板没关系,你是个典型的技术男,为了技术而技术。你不是要知道怎么舒服的活着么,那你就得知道你BOSS的想法,而不是什么都想改变,老板关心项目能不能上线,能不能来钱,你架构再好再规范对老板来说没啥意义。所以你要改变的是你的想法,这事没谁对错。楼上的程序员们基本都想用自己的小想法去要求老板,这不可能。而且你们说的什么第一步该怎么怎么,然后和谁沟通怎么怎么的,都是空话,你真正需要做的是,可观的评价自己,做你自己职责内的和你能力范围内的,其他的不是你操心的你去管,结果只有一个,就是你现在的处境!
0 请登录后投票
   发表时间:2011-04-23  
首先,你说的这些是架构师工作范围以内的事情,是必须要做的。
但是,怎么做,是需要技巧的。
通常来说,相对于现行的技术体系,超过15%的变化,被团队否决的可螚性是很大的。

我的建议,
1. 将现有程序模块化,采用 maven 进行统一管理。模块分两大类,功能性的和技术性的。功能性的是说有用户界面的或者需要根据客户需求进行调整的。技术性的是没有界面的,比如安全校验。每一个模块都要有一个统一的对外的接口。这个过程中,尽可能的只是 refactoring, 保证程序可靠运行是唯一标准。模块越多越小越好。
2. 建立 core team。选择技术好的核心工程师加入,每周开一个会沟通。三到五人为佳。也看具体项目和团队大小。
3. 建立你说的标准,做好详细的文档和例子。也可以你开个头,让一个核心团队中的一个 senior 去做。然后,在核心团队中先征求大家的建议。这样,加上细化的那个 senior, 应该容易通过。
4. 将标准加到 TWIKI 上,这样确保每个人都可以看到。
5. 在团队全体会议上宣布并讲解。要用鼓励性的话讲,比如,“我们已经干出来一个好的产品(good),但是我们要把这个项目成为一个最好的产品(great)。”等等。讲解的时候,一定要有例子。一定要说明,这个规定只对新的模块有要求,这样大家的心里容易接受。
6. 通过后,找人一个一个模块的改。因为接口的存在,影响应该是可控的。
7. 如果是 java 项目,可以用 check style 在 Eclipse 或者 build 阶段帮助程序员follow 你定的标准。

关于 TDD, 技术性模块一定要加 TDD。功能性的看项目进度。

My 2 cents.
3 请登录后投票
   发表时间:2011-04-23  
jamesji 写道
首先,你说的这些是架构师工作范围以内的事情,是必须要做的。
但是,怎么做,是需要技巧的。
通常来说,相对于现行的技术体系,超过15%的变化,被团队否决的可螚性是很大的。

我的建议,
1. 将现有程序模块化,采用 maven 进行统一管理。模块分两大类,功能性的和技术性的。功能性的是说有用户界面的或者需要根据客户需求进行调整的。技术性的是没有界面的,比如安全校验。每一个模块都要有一个统一的对外的接口。这个过程中,尽可能的只是 refactoring, 保证程序可靠运行是唯一标准。模块越多越小越好。
2. 建立 core team。选择技术好的核心工程师加入,每周开一个会沟通。三到五人为佳。也看具体项目和团队大小。
3. 建立你说的标准,做好详细的文档和例子。也可以你开个头,让一个核心团队中的一个 senior 去做。然后,在核心团队中先征求大家的建议。这样,加上细化的那个 senior, 应该容易通过。
4. 将标准加到 TWIKI 上,这样确保每个人都可以看到。
5. 在团队全体会议上宣布并讲解。要用鼓励性的话讲,比如,“我们已经干出来一个好的产品(good),但是我们要把这个项目成为一个最好的产品(great)。”等等。讲解的时候,一定要有例子。一定要说明,这个规定只对新的模块有要求,这样大家的心里容易接受。
6. 通过后,找人一个一个模块的改。因为接口的存在,影响应该是可控的。
7. 如果是 java 项目,可以用 check style 在 Eclipse 或者 build 阶段帮助程序员follow 你定的标准。

关于 TDD, 技术性模块一定要加 TDD。功能性的看项目进度。

My 2 cents.

很好的主意。
0 请登录后投票
   发表时间:2011-04-23   最后修改:2011-04-23
Eric.D.Chen 写道
这跟老板没关系,你是个典型的技术男,为了技术而技术。你不是要知道怎么舒服的活着么,那你就得知道你BOSS的想法,而不是什么都想改变,老板关心项目能不能上线,能不能来钱,你架构再好再规范对老板来说没啥意义。所以你要改变的是你的想法,这事没谁对错。楼上的程序员们基本都想用自己的小想法去要求老板,这不可能。而且你们说的什么第一步该怎么怎么,然后和谁沟通怎么怎么的,都是空话,你真正需要做的是,可观的评价自己,做你自己职责内的和你能力范围内的,其他的不是你操心的你去管,结果只有一个,就是你现在的处境!

这其实是个选择性问题。从急功近利的角度来说,老板都是想越快挣钱越好的。但是没有一定的保障的话,以后推倒重来的可能性也很大。从长远的发展来说,我觉得还是要有个良好的规范和计划,至少太乱肯定不行。说句自私的话,当以后二期,三期的时候,当你以后疲于奔命的时候怎么办?当庞大之后,改一个地方,都会影响其它地方的时候怎么办?那时候老板指着你的鼻子骂,怎么搞的,系统搞得那么烂,改改改!!!但是那时关联性又太多,然后无休无止的加班。如果说是个项目,我搞完,拍拍屁股走人,烂摊子交给别人,这是可行的。但现在的情况是,以后还可能是我们这帮人弄这个系统,所以我想把它做好。就这样,好吧,我承认我算半个技术男。

我会向上面反映这种情况,如果boss充许以后推倒重来,并愿意承担以后可能的加人加钱的风险,那么先什么都不管了,把系统全部实现了再说。
0 请登录后投票
   发表时间:2011-04-23   最后修改:2011-04-23
peterwei 写道
Eric.D.Chen 写道
这跟老板没关系,你是个典型的技术男,为了技术而技术。你不是要知道怎么舒服的活着么,那你就得知道你BOSS的想法,而不是什么都想改变,老板关心项目能不能上线,能不能来钱,你架构再好再规范对老板来说没啥意义。所以你要改变的是你的想法,这事没谁对错。楼上的程序员们基本都想用自己的小想法去要求老板,这不可能。而且你们说的什么第一步该怎么怎么,然后和谁沟通怎么怎么的,都是空话,你真正需要做的是,可观的评价自己,做你自己职责内的和你能力范围内的,其他的不是你操心的你去管,结果只有一个,就是你现在的处境!

这其实是个选择性问题。从急功近利的角度来说,老板都是想越快挣钱越好的。但是没有一定的保障的话,以后推倒重来的可能性也很大。从长远的发展来说,我觉得还是要有个良好的规范和计划,至少太乱肯定不行。说句自私的话,当以后二期,三期的时候,当你以后疲于奔命的时候怎么办?当庞大之后,改一个地方,都会影响其它地方的时候怎么办?那时候老板指着你的鼻子骂,怎么搞的,系统搞得那么烂,改改改!!!但是那时关联性又太多,然后无休无止的加班。如果说是个项目,我搞完,拍拍屁股走人,烂摊子交给别人,这是可行的。但现在的情况是,以后还可能是我们这帮人弄这个系统,所以我想把它做好。就这样,好吧,我承认我算半个技术男。

我会向上面反映这种情况,如果boss充许以后推倒重来,并愿意承担以后可能的加人加钱的风险,那么先什么都不管了,把系统全部实现了再说。


烂摊子真的很难维护

举个例子
比如List.isEmpty() 这empty本来就是一个逻辑值 只需要根据size判断就行
但是如果硬加一个isEmpty的boolean属性, 然后再每一个影响size的地方去更新isEmpty的值,这就tmd脑残了
当然我说的只是项目中的烂代码,并不是List中真的有isEmpty的这个属性.
这种垃圾的代码咋维护.简直想死的心都有了.
0 请登录后投票
   发表时间:2011-04-23  
qianhd 写道
peterwei 写道
Eric.D.Chen 写道
这跟老板没关系,你是个典型的技术男,为了技术而技术。你不是要知道怎么舒服的活着么,那你就得知道你BOSS的想法,而不是什么都想改变,老板关心项目能不能上线,能不能来钱,你架构再好再规范对老板来说没啥意义。所以你要改变的是你的想法,这事没谁对错。楼上的程序员们基本都想用自己的小想法去要求老板,这不可能。而且你们说的什么第一步该怎么怎么,然后和谁沟通怎么怎么的,都是空话,你真正需要做的是,可观的评价自己,做你自己职责内的和你能力范围内的,其他的不是你操心的你去管,结果只有一个,就是你现在的处境!

这其实是个选择性问题。从急功近利的角度来说,老板都是想越快挣钱越好的。但是没有一定的保障的话,以后推倒重来的可能性也很大。从长远的发展来说,我觉得还是要有个良好的规范和计划,至少太乱肯定不行。说句自私的话,当以后二期,三期的时候,当你以后疲于奔命的时候怎么办?当庞大之后,改一个地方,都会影响其它地方的时候怎么办?那时候老板指着你的鼻子骂,怎么搞的,系统搞得那么烂,改改改!!!但是那时关联性又太多,然后无休无止的加班。如果说是个项目,我搞完,拍拍屁股走人,烂摊子交给别人,这是可行的。但现在的情况是,以后还可能是我们这帮人弄这个系统,所以我想把它做好。就这样,好吧,我承认我算半个技术男。

我会向上面反映这种情况,如果boss充许以后推倒重来,并愿意承担以后可能的加人加钱的风险,那么先什么都不管了,把系统全部实现了再说。


烂摊子真的很难维护

举个例子
比如List.isEmpty() 这empty本来就是一个逻辑值 只需要根据size判断就行
但是如果硬加一个isEmpty的boolean属性, 然后再每一个影响size的地方去更新isEmpty的值,这就tmd脑残了
当然我说的只是项目中的烂代码,并不是List中真的有isEmpty的这个属性.
这种垃圾的代码咋维护.简直想死的心都有了.

出来混,总是要还的。很多人搞的项目,一般都是搞好,自已奔赴下个项目,然后由像你这样的人来维护。这就是现实。
0 请登录后投票
   发表时间:2011-04-23  
不懂技术的 ,只关心时间 。

让不懂技术的关系下质量,是多么难的事情啊 。

一心想把产品 尽早做出来,然后推出去 。

结果 天天关心 时间 。

先写代码,再改需求 ,再写代码 ,再搞 用户体验 。最后N个月没个成品出来 。。。

软件过程 的顺序 完全乱了 。


0 请登录后投票
   发表时间:2011-04-23  
peterwei 写道
java菜菜鸟 写道
gigix 写道
peterwei 写道
gigix 写道
发扬主人公精神,并且按时上下班。
一方面要积极进取,另一方面凡事不可期必。

另外有个小问题。我现在一个人试了下TDD方式。但经过我一小段时间的实践,发现效果是有一些,但花的工作量是我以前开发的1.5倍。这个真不是夸张。我以前开发很快的,但试了下TDD,发现时间花得更多了。唯一给我的真实感受就是:代码更稳定、更放心也更接近需求了。但时间是摆在那的,所以我都不敢向团队提出来,一方面是公司上级有时间压力,二方面让大家搞TDD,我估计被骂死,主要是本来开发就累了,整完规范,又整TDD,谁都受不了。下面的人都是工作二年左右的工程师,我认为根本不可行。
用一句话概括就是:快感是有,但也累!

这个不是你的问题。是你老板的问题。
你老板对“把事情做好”没有commitment,所以你多做多累多挨骂。
他也不一定真是舍不得,可能只是没有意识到:天下没有免费的午餐,有一分投入才有一分回报。
你应该首先解决的是这个问题。
如果你老板不想投入,那你就让他明白,事情不可能自己就变好。
如果他确实想弄好,就要他做出commitment。


这句话说得很好,做得再好,如果领导不知道,也就=0。

对于一些不搞技术的领导,你能说得通吗?他们可能根本就不理解这些技术上的概念。头脑里也许只有时间,时间,进度进度,成本成本。


必须 +1 。。。

==========================

项目中, 我让他们用mantisbt 用记录bug ,保证质量。  一开始抱怨是英文的。
我说英文很简单, 只需要填写几个地方就OK了,甚至手把手教了,会用了。
没用多久,抱怨 图文不能像word 一样排版 ,又换成了word文档记录bug 。。

我说 写代码实现功能之前 ,先把界面设计出来,把用户交互操作考虑清楚,然后再编码 。
结果只有口头上的交流 之后,开始写代码了。 结果 需要交互一改再改。

产品出来差不多,邀请朋友内测 ,发现很多玩不懂 ,不知道 要干嘛。 通过讲解之后,才了解网站是干嘛的。
衷心希望 早点搞定完成 。。。

是神马导致 产品做了半年多 !




0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics