| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 508 人关注过本帖
标题:【分享】敏捷开发之道之——排除万难,奋勇前进
只看楼主 加入收藏
zghnxzdcx
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:550
专家分:1176
注 册:2010-4-6
收藏
 问题点数:0 回复次数:2 
【分享】敏捷开发之道之——排除万难,奋勇前进
魔鬼告诉你:“如果你你发现其他人的代码有问题,只要你自己心里知道就可以了。毕竟,你不想伤害他们,或者惹来麻烦。如果他是你的老板,更要格外谨慎,只要按照他的命令执行就可以了。”

有一则寓言叫“谁去给猫系铃铛”(Who Will Bell the Cat)。老鼠们打算在猫脖子上系一个铃铛,这样猫巡逻靠近的时候,就能预先的到警报。每只老鼠都点头,认为这是一个绝妙的想法。这时一直年老的老鼠问道:“那么,谁愿意挺身而出去系铃铛呢?”毫无疑问,没有一只老鼠站出来。当然,计划也就这样泡汤了。

有时,绝妙的计划会因为勇气不足而最终失败。尽管前方很危险——不管是真的鱼雷或者只是一个比喻——你必须有勇气向前冲锋,做你认为对的事情。

假如要你修复其他人编写的代码,而代码很难理解也不好用。你是应该继续修复工作,保留这些脏乱的代码呢,还是应该告诉你的老板,这些代码太烂了,应该统统扔掉呢?

也许你会跳起来告诉周围的人,那些代码是多么糟糕,但那只是抱怨和发泄,并不能解决问题。相反,你应该重写这些代码,并比较重写前后的优缺点,动手证明(不要只是嚷嚷)。最有效的方式,是把糟糕的代码放到一边,立刻重写。列出重写的理由,会有助于你的老板(以及同事)认清当前形势,帮助他们得到正确的解决方案。

再假定你在处理一个特定的组件。突然,你发想完全弄错了,你需要推翻重来。当然,你也会很担心向团队其他成员说明这个问题,以争取更多时间和帮助。

当发现这个问题时,不要试图掩盖这些问题。而要有勇气站起来,说:“我现在知道了,我过去用的方法不对。我想到了一些办法,可以解决这个问题——如果你有更好的想法,我也很乐意听一听——但可能会多花些时间。”你已经把所有对问题的情绪抛诸脑后,你的意图很清楚,就是寻找解决方案。既然你提出大家一起努力来解决问题,那就不会有任何争辩的余地。这样会促进大家去解决问题。也许他们就会主动走近,提供帮助。更重要的是,这显示出了你的真诚和勇气,同时你也赢得了他们的信任。

                            践行良好习惯
我曾经开发过一个应用系统,它向服务器程序发送不同类型的文件,再另存为另外一种格式的文件。这应该不难。当我开始工作的时候,我震惊的发现,处理每种类型文件的代码都是重复的。所以,我也配合了一下,复制了数百行的代码,改变了其中的两行代码,几分钟内就让他工作起来,但我却感觉很失落。因为我觉得这有悖于良好的工作习惯。
后来我说服了老板,告诉他代码的维护成本很快就会变得非常高,应该重构代码。一周之内,我们重构了代码,并立即由此受益,我们需要修改文件的处理方式,这次我们只需要改动一个地方就可以了,而不必遍查整个系统。


你深知怎样做才是最正确的,或者至少知道目前的做法是错误的。要有勇气向其他项目成员、老板或者客户解释你的不同观点。当然,这并不容易。也许你会拖延项目的进度,冒犯项目经理,甚至惹恼投资人。但是你都要不顾一切,向着正确的方向前进。

美国南北战争时期的海军上将David Farragut曾经说过一句名言:“别管什么鱼雷,Draton上校,全速前进。”确实,前面埋伏着水雷,但是为了突破防线,只有全速前进,

他们做的很对。

做正确的事。要诚实,要有勇气去说出实情。有时,这样做很困难,所以我们要有足够的勇气。

勇气会让人们觉得有点不自在,提前鼓足勇气更需要魄力。但是有些时候,它是扫除障碍的唯一途径,否则问题就会进一步恶化下去。鼓起你的勇气,这能让你从恐惧中解脱出来。

平衡的艺术

    如果你说天快要塌下来了,但其他团队成员都不赞同。反思一下,也许你是正确的,但是你没有解释清楚自己的理由。
    如果你说天快要塌下来了,但其他团队成员都不赞同。认真考虑一下,他们也许是对的。
    如果设计或者代码中出现了奇怪的问题,花时间去理解代码为什么会是这样的。如果你找到了解决的办法,但代码依然令人费解,唯一的解决方案是重构代码,让它的可读性更强。如果你没有马上理解那段代码,不要轻易否定或重写它们。那不是勇气,是鲁莽。
    当你勇敢的站出来时,如果受到了缺乏背景知识的抉择者的抵制,你需要用他们能够听懂的话语来表达。“更清晰的代码”是无法打动生意人的。节约资金、获得更好的投资回报,避免诉讼以及增加用户利益,会让论点更有说服力。
    如果你在压力下要对代码质量作出妥协,你可以指出,作为一名开发者,你没有职权毁坏公司的资产(所有的代码)。
搜索更多相关主题的帖子: 排除万难 开发 分享 
2010-10-30 23:00
侧卫宝宝
Rank: 1
等 级:新手上路
帖 子:6
专家分:4
注 册:2010-10-14
收藏
得分:0 
《代码的艺术》 不知道LZ看过没?
2010-10-30 23:19
zghnxzdcx
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:550
专家分:1176
注 册:2010-4-6
收藏
得分:0 
回复 2楼 侧卫宝宝
没有,什么样的书啊?

你永远不可能战胜一个纯傻子,因为他会把你的智商拉到和他同一个水平,然后用他的丰富经验打败你。
2010-10-30 23:37
快速回复:【分享】敏捷开发之道之——排除万难,奋勇前进
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034024 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved