开发人员神秘的工具箱
需求、时间和质量是项目管理的三个平衡点,如果需求多、开发时间短必将会导致项目质量下降,那开发人员有什么办法在短时间内交付大量的需求(虽然质量低)呢?其实每个开发人员都有一套“神秘”的工具箱,在万不得已的时候就会开始使用它(这部分内容是以前参加Daniel的CSM课程的时候听到的,觉得很有意思,想和大家分享一下)。
天下武功,唯快不破
复制粘贴
最常见的就是复制粘贴了,天下文章一大抄,何况代码了,把以前可以工作的代码拷贝过来,改改就可以用了,甚至改都不改一下就直接上线也是可以的。别人敲了半天的代码我按2次按键就搞定了,这就是效率!
别跟我说神马重复代码导致改一处地方要变成改多处地方,修改还容易遗漏这些balbal,我们听多了,Who care,明天的事情明天再说,现在最要紧的是赶紧把功能做出来上线,不然奖金泡汤你负责啊?
在网上搜索代码然后拷过来直接用
每当我没有灵感的时候,我都会上网搜一下有没有实现我想要的功能的代码,发现了的话就拷贝粘贴到我的代码里面,呵呵我的工作就算完成了。
你说什么?!不弄清楚代码原理直接用危险大?别人的代码不一定适用于我的工程?拜托,我弄清楚那些代码原理的时间,我都可以自己写一个实现了好吗?跟你说了现在最要紧的是上线,别跟我扯这些没用的!另外我用百度搜代码,那速度杠杠的,谁用谁知道啊,现在谁还费那么大劲翻墙访问google啊?!
功能变成Bug
上面2招都不好使了肿么办,系统明天就要上线了,功能完不成老板又要找我麻烦了。。。机智的我还是想到了办法,我轻轻地在键盘上敲下了实现该功能的方法名,然后。。。就完了,我已经把功能实现了,可以上线了。
什么?上线后发现啥功能都没有?额。。。我看看。。。哦,这里有个BUG,等下个版本一起修复吧!懂了吗?现在这里不是一个未完成的功能,而是一个BUG了,呵呵这种办法还不是一般人能想的出来的。
没有测试
测试?现在连睡觉的时间都没有,还要我做测试?Are you kidding me?这些东西交给用户不就可以了吗?用户是什么,不就是我们的小白鼠嘛呵呵。
单元测试是什么鬼?用代码来测试代码?我看你吃撑了吧?我写了一堆的代码实现了功能,然后还要写同样多的一堆代码来测试我原来那堆代码,但老板并没有给我双倍工资来做这个事情啊,所以还是省省吧!
没有代码评审
让一大群人围观我的代码,还要在上面鸡蛋里挑骨头,想想我也是醉了,我的代码我做主,不想那么多人来judge我的代码。
我知道代码评审是保证质量的有利手段,也有知识传递、宣传团队规则的好处,但为了快速上线,这些活动能砍就砍掉吧。
没有重构
重构我有时候也是会做的,像以前我的变量名称都是拼音首字母来命名的,后来我把我系统里面的变量名称重构了一遍,在每个变量名加上了我的名字缩写前缀,像这样:sb_xxx
,是不是很机智呢呵呵。
但是为了让项目赶紧上线,我还是别浪费太多时间在重构上面了,等以后有时间再来做吧,或者都后面维护的兄弟来重构吧,前提是他能看懂我的代码:)
硬编码
为了更快的提高我编码速度,遇到一些可以直接硬编码我一般都不定义变量,这样可以保证我的思路不被起变量名这种麻烦事情打断,反正这些以后都是改的,到时候再来修改代码就好了。
你看隔壁那个老王又写测试又重构的,还说什么这样以后方便维护,可以快速定位问题,但尼玛搞了2天才完成,而我才花了2个小时,这才是效率啊!什么?后面我花了2个月才修复1个Bug,你是怎么知道的?
加班
加班是我能力的重要证明啊,加班让我多了一倍时间来做项目,还怕完不成么?!
加班除了聊天吃饭打游戏外,最重要的是让BOSS知道我在加班,凌晨半夜发个邮件到整个公司邮箱是必须的,下班走的时候在朋友圈晒张”加班的夜晚真美”之类的照片也是极好的。让BOSS知道我就算没有功劳也有苦劳,到时候项目完不成也不要怪我,因为我已经加班了。