参考资料《软件工程入门经典》
以下对Gerald Weinberg “无我编程”的10个基本原则进行总结
1.理解并接受——我们都将犯错
所有人都将犯错。尽力避免错误,但要认识到错误无论如何都要出现。任何重大的程序无一不包含错误,何况是程序员呢?
2.代码并不能完全代表我们
仅仅是编写了一段有瑕疵的代码,这还不至于让我们成为坏人。不用把bug带回家,整个周末都在为之困扰。应该感到高兴的是:bug被发现时,它还是bug(希望能尽早发现它)。
3.“三人行,必有我师”
即使最伟大的程序员有时也要向别人学习。“三人行,必有我师”,我们身边总有一些经验丰富的人,至少在编程的某些方面。
4.不要事先不经协商就重写代码
尽一切办法修复bug,但请不要在没有和团队协商的情况下就重写代码段。大量重写代码必须有充分的理由(像是替换代码中有错误的地方,或者是重新排列代码,以便它能够被分解为不同的方法),并不是由于不喜欢别人的缩进方式或变量名。如果没有问题,请不要修复它。
5.尊重、服从并且耐心地对待那些没有你知识丰富的人
即使是面对做事情很吃力,会犯一些低级错误以及因为无知而问一些幼稚问题的编程新手。请保持耐心,不要像一些所谓的优秀程序员那样自命不凡。(同3条,我们可能比别人知道的多一些,但并非所有人)
6.这个世界唯一不变的只有变化
一段时间后,程序员往往对他们熟悉的东西习以为常。遗憾的是,无论是否喜欢,变化都将发生。请张开双臂拥抱变化,看看它是否对自己有利。同时,不要因为出现了新的东西,就抛弃一些东西。和程序员一样,经得起时间检验的才是有用的。
7.真正的权威来源于认知,并非地位
不要使用我们的地位强迫别人接受自己的观点,请基于事实进行判断并用事实说话。
8.为信念而战,但也要绅士般的接受失败
编程任务很少有一个明确的解决方案。解决某个问题的方法不止一种,如果团队小组决定不采用我们的方法,那么请不要为此而烦恼,只要最终结局好就好。如果以后证明我们是正确的,当时采用的方法不够好,那么也不要嘲讽,因为这种态度不利于团队小组在未来进行好的决策。
9.不要太宅
为编写一些代码,有时需要反锁上办公室的门,请不要太宅,请多和其他开发人员接触,以便能够和他们进行有效的合作。
10.批评代码而不是人
对于写代码的人(coder)友好一些,而不是代码(code)。在发表评论时,请针对代码,而不是写代码的人。