转载自:http://www.gracecode.com/archives/2971/
作者:手气不错
发布时间:July 27, 2009
分类:观点
译注:开发人员如何从无休止的需求、项目进度中摆脱烦躁的心态,这是每个人都值得思考的话题。无意间看见了这篇文章
,恐于太长遂将其精简翻译,错误之处难免欢迎指正。
同时如果你有有关程序员修身养性的观点和心得,欢迎说说你的看法。
-- Split --
其实每个程序员或多或少都会有个毛病,就是具有某种有强烈的“优越感”。而这种“优越感” 有可能成为激励自身不断发展的动力,同时也有可能成为其职场中的绊脚石。
程序员的这种心态,源自自身掌握的技术、以及多年积累的经验。正如上面所言,这种心态
能使其一切都力求完美、同时准确按照自己的思路行事,能使其技术不断的提升。而另一方
面,如果将这种态度套用给身边其他的人(包括陌生人、同事、朋友甚至家庭),则会发现 他的生活将会如履薄冰 --
他们只会看见完美的一面而忽略了更多更需要关注的事物。
总而言之,越早发现并解决这一问题,越对自身有利。套用 GeraldWeinberg 在《计算机编程心理学》
中的一段话
这种想法是程序员必须解决的,他们对待自己的代码犹如对待自己身体的
一部分,因此他们拒绝所有的负面评价。相反,它们(指代这种心态)应
该及时的引导到正途,使其发挥真正的效用。人非圣贤,这不仅仅是心态
更是精神上的境界,并非所有人都能达到,但仍旧值得去尝试。
症状
那么,你如何得知这种“优越感”正在伤害到自己?除了应付那些没完没了的催促项目进度的 电话,以及给同事擦屁股的优化工程,其它的现象并非显而易见。
其实就我个人而言,时常也会自我责备,这就能窥出事态的严重。例如一方面你对项目疲于 奔命,而同时却忽略身边的人对你表达的看法(该死,这个时候我应该放下手头的工作听他 们说完的)。或者你“假装”静下心来听取他们的意见,但不就繁杂的工作却让你左耳进右耳 出。
其他的些症状
- 如上面所说的,不会妥善处理批评
- 不放心同伴的代码,经常性地对他们进行代码审查(Review)
- 报复性的编写大量充斥着错误的代码
- 个人的消极心态,对自身和团队造成不利的影响
- 必须要求进行测试,但出发点却是炫耀
- 对事物的看法仅仅局限于个人或者本职位的角度
这不仅仅是你个人的事情,编程以及项目开发实际上是团队活动。了解到这些,你将会意识到 你的心态将会直接影响到你的同事。
事实就是这样,当我对您的代码提出写意见甚至批评时,你应该听、并且认
真的听,这样你才能理解我的看法。
有可能最糟糕的情况就是,即便早已经收到其他同事的提醒,当事人已经陷入此泥潭无法自拔。
准则
让我们回到文章的题目本身,正如上面的例子中看到,“谦逊编程”不是编程技术本身,而是 种态度,但它的确会比你掌握的某种技术要有用的得多。
行为准则的确能改变人的心态,下面是些不成文的建议,或许你可以尝试下
- 不要草率的宣布你的决定,在大多数情况下,你应该和你们的同事们讨论
- 不要使用这些论调,这非常让人感到不适:“这是见过的最糟糕的代码了”,换之你可以这样说,“我有个更好的解决方案,要不看看?”
- 不要轻易认为他们没有考虑到你想的方式,即便很不幸是这样,应该善意的提醒。例如“你觉得我这个看法怎么样...”
- 不要无理由的批评你认为很弱智的现象,例如“我觉得 DBA 脑门子被夹了,这个字段竟然使用 INT 型”
更多的,可以参考 Tech Republic 中的“谦逊编程”十条诫律
:
-
理解和接受你将犯下的“错误”。
重点是及早的发现你已经犯下的错误,当代码投入使用以后,改动起来就会非常的困难。
-
你的代码不能代表你的人。
记住始终要 Review 你的代码,即便你已经认为无懈可击,经验证明总能发现些错误。
-
不管怎么样,有些“奇技淫巧”总能派上用场,而可能这些技巧别人知道的比你更多。
如果你坚持不耻下问,你的同伴总能分享你更多。
-
不要在完全没有沟通的情况下,自作多情的进行代码重构。
当你确定要更改别人的代码时,必须加上良好的修改记录,这也是出于对他人的种尊重。
-
对待那些新手要保持充分的尊重、细心以及耐心。
记住当他们成长起来后,能帮你解决的问题会比你想象中的还要多。
-
唯一不变的是变化。
怀着开放的心态对待变化,对于各种需求、平台甚至开发工具的变更,应该是迅速适应而不是牢骚满腹 -- 这样解决不了问题。
-
真正的权威来自学识,而不是立场。
权威源自学识、尊重源自权威。
-
优雅的接受失败。
最终你的一些观点将会被推翻,即便你有能力证明你的观点是正确的,请不要重复的争辩。帮助其他人意识到这点的最好工具,就是你的理解以及时间。
-
不要成为“办公室男”。
不要在昏暗的办公室里独自喝着可乐敲着代码。当与外界隔绝,离开同伴的视线,也就说明你离开了一个开放、合作的环境。
-
批判代码而不是编写它的人。
要知道你的意见可以影响到代码也可以影响到其人,如果你想尝试下如何打击别人的自信并造成冲突,那么尝试下吧。
分享到:
相关推荐
它涵盖了专研精神、积极态度、团队合作、谦逊自省以及高质量代码的编写等多个方面。其中,高质量的代码被视为衡量程序员修养的关键指标。正如我们通过作品来评判作家、画家和工匠一样,程序员的修养也直接反映在其...
4. **谦逊与自我反省**:保持谦虚的态度,避免骄傲自满,能够及时反思并改正错误,不断提升自我。 5. **高质量的代码**:编写出稳定、可读性强、规范统一、易于维护且专业的代码,这是编程修养的直观体现。 #### ...
这篇文章探讨了谦逊与狂妄两种截然不同的态度在个人成长和成功中的作用。作者通过自然界的事物,如粟穗与狗尾草、稻谷与稗草的对比,揭示了谦逊与狂妄的本质差异。文章指出,真正的成就往往源自深藏不露的谦逊,而...
这篇文档主要包含四篇经典文本的翻译,分别是《论语》中的《樊迟、仲弓问仁》,《老子》的第二章,以及《左传》和《国语》中的两段对话,即《晏子对齐侯问》和《史伯对桓公问》。这些文本都是中国古代哲学和道德思想...
作者提到自己是菜鸟,这表明他在编程旅程中保持谦逊和开放的态度,愿意接受指导和改进。 总的来说,C#实现的五子棋程序是一个很好的学习项目,它涵盖了基本的图形界面编程、事件处理、数据结构以及简单的算法应用。...
4. **谦逊谨慎**:保持谦虚,避免骄傲自满。 5. **高质量的代码**:编写稳定、易读、规范、易于维护且专业的代码。 其中,高质量的代码尤为重要。代码不仅是技术实现的载体,更是程序员艺术性的体现。它反映了...
- **谦逊与自我反省**:承认不足,愿意学习,避免骄傲自满。 - **高质量代码**:编写稳定、易读、规范、易于维护且专业的代码。 #### 重点:编程修养 - **代码的美学**:将代码视为艺术品,追求清晰、整洁、高效的...
成为一名C语言高手并不只是掌握技术细节或快速编程,更重要的是具备深入研究、创新思维、团队合作、谦逊谨慎以及编写高质量代码的能力。这些是程序员的核心素质,其中编程修养尤其重要,因为它直接影响到代码的稳定...
此外,文章还强调了学习编程过程中遇到困难时的毅力和谦逊。编程并非一蹴而就,需要不断学习和实践,克服挫折。作者通过自己的编程经历,提醒读者不要因为一时的困难而放弃,同时也要避免过于自满,保持谦虚,因为...
在追求高质量代码的同时,程序员应该时刻提醒自己保持谦逊,对于自己的代码和设计持有怀疑的态度,不断学习和改进。 在编程实践中,编程修养体现在诸多方面: 1. 版权和版本信息:在每个文件或函数中添加版权和...
通过编程学习,作者经历了自我成长,理解了坚持不懈和谦逊的价值,这些软技能将对他的未来产生深远影响。编程之路虽然艰难,但正如作者所言,“坚持就是胜利”,每一次的挑战都是向更高目标迈进的垫脚石。
4. **谦逊态度**:始终保持学习的心态,避免骄傲自满。 5. **高质量代码**:编写稳定、易读、规范且易于维护的代码。 其中,第五点尤为重要,它直接关系到程序员的专业形象和技术水平。 #### 二、代码质量的重要性...
此外,良好的沟通能力、团队精神、谦逊的态度以及对代码质量的追求都是必不可少的修养。 编程修养的一个核心方面是写出高质量的代码,这包括代码的稳定性、可读性、规范性、易维护性和专业性。陈皓指出,代码就像是...
编程高手的标准是一个不断演变的概念,随着技术的更新和行业的进步,这些标准也在不断地调整和升级。以下是一些关键点,可以作为评估是否...在编程的道路上,永远保持谦逊和热爱,不断追求卓越,才是真正的高手之道。
4. **谦虚谨慎**:对待工作要谦逊且严谨,避免因急躁而导致的错误。 5. **高质量代码**:代码应具备稳定性、易读性、规范性、易维护性和专业性。这是评判程序员修养的重要标准。 在C语言编程中,具体到编程修养的...
保持谦逊,专注于提升基础,不断动手实践,同时不要忽视数学的重要性。在选择实习和工作时,优先考虑能让你不断学习和成长的环境。在这个浮躁的时代,保持冷静,专注于技术的学习,你会发现自己的进步和成就。