代码猴子

上传人:简****9 文档编号:107920536 上传时间:2019-10-21 格式:DOC 页数:10 大小:136.58KB
返回 下载 相关 举报
代码猴子_第1页
第1页 / 共10页
代码猴子_第2页
第2页 / 共10页
代码猴子_第3页
第3页 / 共10页
代码猴子_第4页
第4页 / 共10页
代码猴子_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《代码猴子》由会员分享,可在线阅读,更多相关《代码猴子(10页珍藏版)》请在金锄头文库上搜索。

1、 作者在开始讲正文之前先对读者做了一个小测验:换一个灯泡需要多少个程序员?(貌似换灯泡跟程序员关系不大:-),可能有三种答案: 1.根本不需要,因为灯泡根本没坏。 2.仅仅需要一名,但是需要耗费一整夜的时间和大量的咖啡和匹萨。 3.需要20名,名解决最初的问题,然后由后面19名解决第名所带来的一系列糟糕的问题。 不禁感叹作者专业功底之深厚,用生活中一个简单的问题来说明了软件开发中的一个很深刻的问题:软件开发的态度和方法对代码质量有着深刻的影响。态度决定一切!更决定了我们所编写代码的质量,有时有了正确的态度还不够,为了达到编写优秀的代码这个目标,还需要正确的编程方法,二者缺一不可。接着看软件工厂

2、中各种各样的代码猴子(按照技术,态度,性格等分类):1.卖力工作的程序员: 手脚勤快,一边编码一边思考,一开始有想法就马上开始编写代码,从来不知道先退一步思考思考。常常赶时髦去尝试新的功能或语言习惯,意味着可能在不适当的情况下应用技术。 优点: 高产,对编程抱有热情。 缺点: 卖力工作的程序员虽然比较有效率,但是应该大部分都是性子比较急的,由于在编写代码之前没有深思熟虑,所以编写的代码缺陷比较多,往往会在调试上花费很大的精力和很多的时间。事情进展的顺利的时候,能够做出合理的情况估计,但是从来不按照计划进行,所用的时间总是比计划时间长。 如果你是其中一员你该怎么办?不要丢掉自己的热情这是程序员最

3、好的特点之一,因为自己的乐趣在于:看到程序正常运行,站在一旁欣赏代码的美,所以应该好好想想一些实用的办法来做到这一点,总结为:“停下来,想一想”,不要着急! 2.代码猴子: 如果需要无数的代码猴子,那么这些家伙将会成为首选。代码猴子编写的代码很可靠,但是没有创意。他们很乐意接受了一项任务并完成后,静静地等待下一个任务,性格恬静,害怕工作压力,所有只能做些低风险的工作,比如:代码维护员,如果给予一定的时间和精力,初级代码猴子会有一定的提高,但是老的代码猴子就无可救药了。 优点: 按时完成工作,而且很不错,与卖力的程序员不同的是,他们的代码质量会比较可靠,能很好的估计时间。 缺点: 虽然条理,但是

4、思维局限性强,代码猴子会无条件的遵守项目中的代码设计约定,而不会出任何可能存在的问题,由于他们不对设计负责,所以对一些出现的问题负责,他们不会主动调查和修正这些问题,教他们学习新的东西将会是一件很痛苦的事情。 如果你是其中一员怎么办? 是否想探索新的领域,是否想拓宽自己的职责范围?如果是那就通过个人项目的锻炼来强化自己的技巧吧!找些书来,从中学习一些新的技术,用于承担更多的责任,并积极参加到设计工作中去,在当前的工作中采取主动地态度,尽可能早地确定可能失败的地方,并找出避免此类问题的方案,尽管做到这个有时并不那么容易。3. 权威: 程序界的圣贤,通常安静和谦虚,有时比较怪,编写的代码出色,但是

5、却无法与“凡人”沟通。权威会做比较底层的工作,写框架,体系结构和内核。 优点: 经验丰富,代码优秀,优秀的权威会是出色的导师,别人会从他那里学到很多的东西。 缺点: 能够良好地沟通的权威为数不多,并不总是一言不发,他们的思路跳跃太快,超出了正常人的水平,所以跟上他们的思路会很困难,以至于跟权威对话,会让一般人感觉到沮丧和困惑,感觉自己很愚蠢。 如果你是其中一员该怎么办? 走出理想世界,并生活在现实世界中,不要希望所有的人都跟你的思路那样快,为了把简单的问题说清楚,往往要在这方面下些功夫。 4.半权威: 自认为是一个天才,其实不是,他们的话听起来像是很有道理的样子,其实是一堆堆垃圾。通常比真正的

6、权威要傲慢,委任自己为权威人士。 优点: 自信。 缺点: 最大的缺点也是自信,由于自己太过自信,高估自己的能力,会给项目带来意想不到的问题甚至是灾难性的。 如果你是其中一员怎么办? 对自己的技术水平给一个中肯的评价,客观地对待自己能做的事情和不能做的事情,多关注自己的代码的质量,而不是放在显示自己有多聪明上。给自己的角色定好位。5.傲慢的天才: 各种权威中数量很少但很重要的一个分支。杀手级程序员,速度快,效率高,他太清楚自己的技术能力了,会有些骄傲,显示出很强的优越感,经常以自己的正确的观点压倒别人的错误意见。如果跟别人发生了技术上的争执,大部分情况下他都是正确的,跟他说话,总会到对他有利为止

7、。 优点: 技术领导力强,如果得到团队成员的认可,将对整个团队是一个有利的催化剂。 缺点: 天才不喜欢被证明犯了错误,认为自己永远都是对的,不会说:我不知道。不愿意受冷落。 如果你是其中一员怎么办? 不要奢望别人像敬奉神一样敬奉你,要做到谦虚地待人处世,尊重别人的意见。6.牛仔: 牛仔会一头扎进代码堆里,以最少的代码解决问题,并不关心是不是一个最好的解决方案,以及是否会损害你的代码结构或是能否满足将来的要求。 优点: 他们写的代码可以运行,但不是很优雅,喜欢学习新东西,但很少深入进去。 缺点: 你会费很大精力清理牛仔留下的代码,牛仔的代码总是需要在以后进行修复,调整或重新编写,牛仔只会运用有限

8、的技术,往往不具备真正的工程技能。 如果你是其中一员该怎么办?学会正确的快速编写代码,为自己的工作感到骄傲,在上面多花些时间,承认自己的缺点,并试着去改变它。 7.规划者: 规划者往往会对自己做的事情想的太多,以至于开始动手写任何代码之前,项目已经过期了。他其实是把设计和编码的界限极端化了,传统瀑布开发过程已经在他的脑子里根根深蒂固了,他会在完成设计前把自己密闭在一个茧子里,于此同时外面的环境在不停地变化着。 优点: 会设计,会思考,不会写出没经过深思熟虑的代码。 缺点: 很多时候会过度设计,很容易规划处过于复杂的系统。他们的开发精力更多地集中在了方法和建模,而不是基于原型设计和解决方法的创建

9、。他们把大把的时间花在了思考上,而没有放在实践上,他懂得很多,但是没有把这些知识升华为实践。 如果你是其中一员怎么办?设计很重要,实践也很重要,考虑使用原型开发方法和渐进的开发方法,让你的设想尽早的得到验证。很多问题只要你在诉诸实践的过程中才能深刻认识到。 8.老前辈: 老前辈要么对自己从事的职业非常热爱,要么因为错误无数次的升职机会而感到无比懊恼,不再想学习新的技术,他们觉得没有什么有必要再学的了。不愿意学习新的语言,他会说:我不需要C+,C#,只需要汇编就够了。 优点: 经验丰富,知道如何写出优秀的代码,并知道哪些因素会导致糟糕代码的产生,并知道如何避免。 缺点: 不愿学习新技术,反感华而

10、不实的时髦的技术,对新事物反应慢,而且有抵触的情绪。没什么耐心,对那些最后期限和不切实际的管理者厌烦透顶。 如果你是其中一员怎么办?不要对更年轻的,更富有激情的年轻的程序员要求太过苛刻,你的代码曾经不是那么完美,不是吗? 9.狂热者: 狂热者一般都有自己的偶像,充满激情,把自己当做义务的技术传道者。他们崇拜大公司的产品,并试图在分配给自己的任务中使用这些产品。狂热者追随大公司的产品,并且排斥其他的产品,而且不知道其他更好的产品。 优点: 他对大公司的产品很熟悉,并且使用这些产品做出很高效的设计,也许这不是他最高效率的设计-他不知道的方法或许效率更高一些。 缺点: 不客观,不实际,他可能会错过其

11、他拥有更好设计的小公司的产品,糟糕的是,他还在一直鼓吹大公司产品的好。 如果你是其中一员怎么办?要知道,没有人期望你厌恶你所钟爱的大公司的产品,了解他的技术,并了解如何部署,是很有价值的。但不要做技术的盲从者,要接纳不同的方法和新的思维方式,不要用高人一等的眼光来看待他们,也不要有偏见。10.单线条程序员: 很典型的家伙,以技术为生,呼吸的全是技术,技术是他的生命的全部。有着很明显的单线条思维,如果让他把工作带回家,回来的时候,就会设计并编写好整个系统,修正所有的主要bug,并对如何实现项目的其他部分指定了计划,在你吃早饭的时候,他已经完成了所有的工作。 优点: 专心致志,非常坚定,他将确保整

12、个项目能够正常的运行,否则他将拼命地做出努力;愿意做很多额外的工作,特别是在项目截止日期临近时。 缺点: 他期望别人也能像他一样一心一意,专心致志,对那些不这样做的人感到反感。最大的问题是他会忽略其他的一些事情,因为他离问题太近了。 如果你是其中一员怎么办? 开始集邮或者做做其他一些泥喜欢的事情,以帮助你换换脑子,文武之道,一张一弛,但是也许你对别的事情都不感兴趣。 11.拖沓者 拖沓者是不愿工作的懒散的人,这种人很难发现,他们已经学会了如何让自己看起来一直是忙碌的;他的“设计”是在电脑上玩游戏,他的“研究”是在网络上看NBA直播,而他的“实现”则是干私活。拖沓者会主动避免分配任何工作任务,因

13、为他太”忙”了。虽然是他看起来一直很忙碌,但分配给他的任务从来不会完成,至少是不会按时完成。 优点: 至少他不像单线条程序员那样不会找乐子。 缺点: 拖沓者显然是个负担,但又很难发现他在偷懒-一些困难的问题确实要花费一些时间去解决。但是要警告这些人的是,如果继续这样做下去,无疑是职业自杀,等不了多久你会发现这个城市里已经没有了你的位置(或许有,恐怕到时他们会怨天尤人,后悔莫及)。 如果你是其中一员怎么办? 要有职业精神,在工作中投入更多的精力吧,要不就学着忍受犯罪感吧。12.勉强的团队领导: 这是一种组织上的典型:一位开发人员被提拔为团队领导,原因只是对他而言在技术上已经没有再升职的余地。但是

14、他在这个职位上很不自在,却在竭力维持,他是一位程序员,更喜欢编程。他天生不是团队的组织者和领导者,而且沟通能力很差,大多数程序员沟通弄能力很差,真正接触的软件团队领导没有几个,这需要一套技巧,不仅是技术上的,而且在组织方面。勉强的团队领导很温和,而且优柔寡断-又怎么说服别人怎么样做事情呢? 优点: 对程序员有着真切的同情-他也曾经有过这样的经历,他往往过于承担起软件交付延迟的责任,同他不太擅长分配工作一样,也不太擅长分配责任。 缺点: 如果团队领导试图编写代码,那么事情会变的很糟糕,他永远不会有充足的时间来足够认真的编写,设计和测试代码。他很天真的想既做好管理,又做好编码,结果,哪一件也做不好,他不能很好的组织,不能向管理层说明情况,也不能恰当的管理好团队成员。 如果你是其中一员该怎么办?接受培训,要快! 如果在这个职位上做的很不开心,那就试着调动一下吧,在自己不擅长的职位上工作等于是在浪费自己的生命,换到你真正适合的岗位上去。如果你喜欢挑战艰苦的任务,那么就试着在你的公司里解决升职的途径吧,让公司意识到管理职位不应该是高级研发人员的下一个晋升位置。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号