大多数女生在找男朋友的时候,总会有那么一条择偶条件:“希望男生能够包容我,忍受我的小脾气!”。其实,作为一个程序员来说,
也应该要学会包容项目中存在的一些不同coder之间的差异。
计算机科学是一个严谨的学科,但是不代表它没有讨价还价的余地。
一、包容不同的编码风格
在一个企业项目中,编写代码是一个团队的合作,由不同的coder分别实现不同的模块。世界上没有完全相同的两个人,那么
两个coder之间的编码风格也会有所差异。
我曾经做过日本外包项目(很早之前),在 那个项目中,有一套完整的编码规范,例如对于一个整形变量 订单数 的定义,
就必须以 前缀n+ 变量含义来命名 -> nOrderNum ,而且规定了,不准出现例如 n,i,j 这样单字符的变量。这样做的好处是,便于对代
码质量进行管理,而且很好的增加了代码的可读性,即是这段代码最原始的coder离开后,其他coder对这段代码的理解和维护。
而在国内也存在另一种情况,代码并没有任何的编码规范,仅仅是靠各个程序员的经历和从前辈得到的一些经验。会导致这段
代码也许在部分coder眼中很顺眼,而在另一部分coder眼中却显得格格不入。甚至会惊叹的说一句“你这写的啥啊?”抛开编码风格来看
,代码没有任何错误,甚至性能很优化,但却是因为你没有能够比较好的包容别人的代码风格,而错失了学习好的代码的机会,那就是“
以貌取人”了。
所以,我个人认为,我们的项目中有自己的编码规范,可以吸收各方面的经验,包括失败项目中的总结教训,成功项目里的经
验总结。制定出一套适合该项目的编码规范,而且要很好的贯彻执行该规范,不要因为某个大牛,或者领导而轻易放弃。
二、包容不同程序员的工作职能和做事风格
做事风格,简单的说是一个人在处理事件时的一种态度和工作习惯。这种习惯由于性格、工作环境、紧急度要求而有所不同。然
而各种做事风格都有它的优点也有缺点。
一个团队中需要不同做事风格的人来协调工作,就像《西游记》里面的师徒四人一样,每个人在团队里面的性格迥异,但又不可或缺。
IT行业的程序员是靠自己的编程能力来支持的,导致部分高技术的程序员,认为自己的代码是最好的,别人的代码是垃圾。这一点
是绝对要不得的,因为一个人是不断成长的,说不定哪天你的代码被时间给淘汰了。如果一个团队里面,个个都是“精英”,都不愿意写
基本的代码,都争着去做体现能力的“核心代码”,那么这个项目我估计即使做完了,但是coder之间会有鸡蛋里挑骨头的可能。
任何一个人,都会有不如别人的地方,“三人行,必有我师焉”,我们要看到别人的亮点,而不是别人的错误。
“用人所长,天下无不用之人,用人所短,天下无可用之人!”这句话,估计是对人员管理的最大精髓吧。
三、包容代码中的bug
“有人的地方就有江湖”,那么在代码的世界里,那就是“有代码的地方就有bug”,bug有小有大,优先级有高有低,解决难度也存
在差异。所以我们在解决bug的时候会有一些原则。
首先,毋庸置疑的是,我们必须把与客户需求的相悖的bug给彻底解决,确保功能的正确性和可用性。
其次,我们必须尽可能的将代码中暴露的bug或者是由测试人员发现的bug解决掉。
“用户是邪恶的”,会给程序挑出各种各样的bug,我们会解决绝大一部分的bug,但是不管怎么样,我们可能会遇到一些莫名的隐
患bug,那些出现几率不高,对整个项目不构成威胁的bug,但是我们却要花上很长一段时间甚至一直无法解决,用上很多的人力,来处理
的bug,那就让他存在吧。毕竟存在残缺也是一种美。就把它当做美人脚底板的一颗痣。
对于软件开发中的包容,暂时先说这么多了。还有其他各个方面的问题,要我们去包容项目中的差异和问题。包容别人,你会少给
自己添堵,会少去不少烦恼。