转载自:http://www.gracecode.com/archives/2971/
作者:手气不错
发布时间:July 27, 2009
分类:观点
译注:开发人员如何从无休止的需求、项目进度中摆脱烦躁的心态,这是每个人都值得思考的话题。无意间看见了这篇文章
,恐于太长遂将其精简翻译,错误之处难免欢迎指正。
同时如果你有有关程序员修身养性的观点和心得,欢迎说说你的看法。
-- Split --
其实每个程序员或多或少都会有个毛病,就是具有某种有强烈的“优越感”。而这种“优越感” 有可能成为激励自身不断发展的动力,同时也有可能成为其职场中的绊脚石。
程序员的这种心态,源自自身掌握的技术、以及多年积累的经验。正如上面所言,这种心态
能使其一切都力求完美、同时准确按照自己的思路行事,能使其技术不断的提升。而另一方
面,如果将这种态度套用给身边其他的人(包括陌生人、同事、朋友甚至家庭),则会发现 他的生活将会如履薄冰 --
他们只会看见完美的一面而忽略了更多更需要关注的事物。
总而言之,越早发现并解决这一问题,越对自身有利。套用 GeraldWeinberg 在《计算机编程心理学》
中的一段话
这种想法是程序员必须解决的,他们对待自己的代码犹如对待自己身体的
一部分,因此他们拒绝所有的负面评价。相反,它们(指代这种心态)应
该及时的引导到正途,使其发挥真正的效用。人非圣贤,这不仅仅是心态
更是精神上的境界,并非所有人都能达到,但仍旧值得去尝试。
症状
那么,你如何得知这种“优越感”正在伤害到自己?除了应付那些没完没了的催促项目进度的 电话,以及给同事擦屁股的优化工程,其它的现象并非显而易见。
其实就我个人而言,时常也会自我责备,这就能窥出事态的严重。例如一方面你对项目疲于 奔命,而同时却忽略身边的人对你表达的看法(该死,这个时候我应该放下手头的工作听他 们说完的)。或者你“假装”静下心来听取他们的意见,但不就繁杂的工作却让你左耳进右耳 出。
其他的些症状
- 如上面所说的,不会妥善处理批评
- 不放心同伴的代码,经常性地对他们进行代码审查(Review)
- 报复性的编写大量充斥着错误的代码
- 个人的消极心态,对自身和团队造成不利的影响
- 必须要求进行测试,但出发点却是炫耀
- 对事物的看法仅仅局限于个人或者本职位的角度
这不仅仅是你个人的事情,编程以及项目开发实际上是团队活动。了解到这些,你将会意识到 你的心态将会直接影响到你的同事。
事实就是这样,当我对您的代码提出写意见甚至批评时,你应该听、并且认
真的听,这样你才能理解我的看法。
有可能最糟糕的情况就是,即便早已经收到其他同事的提醒,当事人已经陷入此泥潭无法自拔。
准则
让我们回到文章的题目本身,正如上面的例子中看到,“谦逊编程”不是编程技术本身,而是 种态度,但它的确会比你掌握的某种技术要有用的得多。
行为准则的确能改变人的心态,下面是些不成文的建议,或许你可以尝试下
- 不要草率的宣布你的决定,在大多数情况下,你应该和你们的同事们讨论
- 不要使用这些论调,这非常让人感到不适:“这是见过的最糟糕的代码了”,换之你可以这样说,“我有个更好的解决方案,要不看看?”
- 不要轻易认为他们没有考虑到你想的方式,即便很不幸是这样,应该善意的提醒。例如“你觉得我这个看法怎么样...”
- 不要无理由的批评你认为很弱智的现象,例如“我觉得 DBA 脑门子被夹了,这个字段竟然使用 INT 型”
更多的,可以参考 Tech Republic 中的“谦逊编程”十条诫律
:
-
理解和接受你将犯下的“错误”。
重点是及早的发现你已经犯下的错误,当代码投入使用以后,改动起来就会非常的困难。
-
你的代码不能代表你的人。
记住始终要 Review 你的代码,即便你已经认为无懈可击,经验证明总能发现些错误。
-
不管怎么样,有些“奇技淫巧”总能派上用场,而可能这些技巧别人知道的比你更多。
如果你坚持不耻下问,你的同伴总能分享你更多。
-
不要在完全没有沟通的情况下,自作多情的进行代码重构。
当你确定要更改别人的代码时,必须加上良好的修改记录,这也是出于对他人的种尊重。
-
对待那些新手要保持充分的尊重、细心以及耐心。
记住当他们成长起来后,能帮你解决的问题会比你想象中的还要多。
-
唯一不变的是变化。
怀着开放的心态对待变化,对于各种需求、平台甚至开发工具的变更,应该是迅速适应而不是牢骚满腹 -- 这样解决不了问题。
-
真正的权威来自学识,而不是立场。
权威源自学识、尊重源自权威。
-
优雅的接受失败。
最终你的一些观点将会被推翻,即便你有能力证明你的观点是正确的,请不要重复的争辩。帮助其他人意识到这点的最好工具,就是你的理解以及时间。
-
不要成为“办公室男”。
不要在昏暗的办公室里独自喝着可乐敲着代码。当与外界隔绝,离开同伴的视线,也就说明你离开了一个开放、合作的环境。
-
批判代码而不是编写它的人。
要知道你的意见可以影响到代码也可以影响到其人,如果你想尝试下如何打击别人的自信并造成冲突,那么尝试下吧。
分享到:
相关推荐
谦逊要恰如其分.doc
成功来自谦逊作文.doc
诫子书PPT模板:忠诚、勤奋、谦逊的人生箴言.pptx
员工离职模板系列-辞职申请(自愿离职、谦逊礼貌).docx
湖南省茶陵县世纪星七年级政治下册 平等待人 谦逊宽容教案 新人教版.doc
湖南省张家界市慈利县赵家岗土家族乡七年级政治下册 1.2.2 谦逊宽容导学案 湘教版.doc
dinosay是一个谦逊,简单,美观,旧石器时代的替代 。 这个想法是怎么产生的? 这个想法来自我的两个孩子。 为了让他们学习音节,然后学习如何将它们组合成单词,我在终端机上使用了Cowsay,以便他们在玩乐的同时...
1.1.2 对编程始终抱有认真的态度 1 1.1.3 实事求是的态度和谦逊的品质 1 1.1.4 适合应聘公司的文化 1 1.2 一份出色的个人简历——面试准备 2 1.2.1 一份简历不宜超过一页 2 1.2.2 永远准备中文简历 2 1.2.3 不要在...
近年来,自卑的自上而下的领导风格在学术和实践领域受到广泛关注。 尽管理论和实证研究表明,谦卑的领导具有积极的影响,但缺乏系统地审查其领导作用和对其积极影响的边界条件的研究。 本文首先简要介绍了谦卑领导者...
空白的 Blank 从讨论列表中提取了我认为的最佳实践。 当然,我的选择是武断和固执的,但它们应该让您了解可以做什么。 空白不仅仅是一个主题。 这是一个完整的示例,它是一个介绍,它是最佳实践。...
ModBringer ModBringer,Flying Oak Games游戏ScourgeBringer的Mod加载程序。 ModBringer目前唯一的功能是提供一个接口,用于管理游戏的社区制作的外观/纹理包。 当前,ScourgeBringer 1.52版有两种外观: Rel(...
悲剧 用PyGTK编写的裁判系统。 目前仅适用于Linux。 验证它仍可在Ubuntu 18.04上使用。
AM的价值观包括了XP的四个价值观:沟通、简单、反馈、勇气,此外,还扩展了第五个价值观:谦逊。建模不但能够促进你团队内部的开发人员之间沟通、还能够促进你的团队和你的project stakeholder之间的沟通。画一两张...
阐述了 QuantLib 中几大最主要模块的宏观设计思路,以及某些核心功能的具体实现,同时谦逊地指出了当前实现中存在的一些缺陷和问题。通过阅读本书,你可以了解到 QuantLib 如何自上而下地模拟各种金融工具的行为,...
uphble pal通过自动化和跟踪扩展了谦逊捆绑的功能。 演示:https://i.imgur.com/jo3b5zd.gif.github页面:https://github.com/chadbailey/humble_pal.谦虚的朋友是改善谦逊束和蒸汽之间的集成的延伸。它自动化蒸汽...
帮助纯小白,零基础的人士走进linux,不炫技,不装逼,直接大白话,做到亲民,谦逊。让小白光速入门,从此不再对命令行感到畏惧
GF(Go Frame)是一款模块化、高性能、生产级的Go基础开发框架。 实现了比较完善的基础设施建设以及开发工具链...社区活跃,大牛谦逊低调脾气好; 详尽的开发文档及示例; 完善的本地中文化支持; 设计为团队及企业使用;
如果你还在大一,C语言一定要充满热情的学,关键是要找到编程给你带来的极大的满足感,要有老子就是天下第一的斗志,当然咱们要谦逊。 其他如Java,C++,python,至少有一个自己十分擅长而且经常用的语言。 **PS:**...
odrive_ros2_control\nENGLISH / 中文\n介绍\nros2_control 的 ODrive 驱动程序\n兼容性\nROS 2 狡猾的菲茨罗伊 ROS 2 谦逊的玳瑁\nODrive 固件 v0.5.3 狡猾的fw-v0.5.3 谦虚-fw-v0.5.3\nODrive 固件 v0.5.1 狡猾的...