开源贡献者往往充满激情——他们愿意为项目奉献一切,这也自然会囊括相当一部分个性化因素。我们将共同了解贡献者中的几大不同性格类型、他们的目标所在,并如何在追求质朴与追求完美的pull请求之间做好取舍工作。在各类开源性格类型当中,您最认同哪一种呢?比如泛用型、专用型、完美主义者、概念论者、冒险主义者,还是拘泥传统者?在团队当中工作必然要面临着成员们对于特定议题的争论,这当然并不是什么坏事。不同的意见有助于确保每位成员的思路都能得到讨论,同时确定问题来源并将重点集中在手头任务的核心矛盾身上。然而,这一切在开源世界中却并没那么简单。开源贡献者往往充满激情——他们愿意为项目奉献一切,这也自然会囊括相当一部分个性化因素。这种情况虽然在其他领域也有出现,但开源贡献者显然更热衷于利用自己工作之余的宝贵时间做点自己真正想做的事。为开源企业工作则会带来一种更加扭曲的心态组合:从业者需要在工作管理要求与项目前进方向之间找到平衡点。这很可能造就一种极具挑战性的环境,特别是考虑到面对贡献型项目时,企业本身往往并不一定能主导一切。在今天的文章中,我们将共同了解贡献者中的几大不同性格类型、他们的目标所在,并如何在追求质朴与追求完美的pull请求之间做好取舍工作。虽然很多朋友可能发现自己身兼多种性格类型的特质,但这些特质往往围绕着一类中心。要实现妥善管理,诀窍在于找出贡献者们的真正目标,并判断其能否与项目方向保持一致。1.泛用型/专用型这种特性集中在项目如何在各类状态下正常起效。泛用型性格的人希望确保项目能够在各项状态下全部正常起效。这往往要求贡献者采取非常广泛的审视角度。任何针对代码的变更通常都会涉及字符串变更与变量替换、新增抽象层或者将某些功能以插件形式体现——这一切都将使得项目更具定制化特性与泛用能力。尽管这类方式并没有什么问题(事实上,我本人就是典型的泛用型性格),但这意味着代码的复杂性会显著提高——可能导致编写时间延长且难于符合既定要求。在另一方面,专用型则专门针对特定用例。这类贡献者往往乐于强调现有代码成果并不需要处理其他某些用例,而且倾向于对变量进行硬编码并利用现有代码实现目标,而直接忽略其在其他状态下的可用性。专用型性格特别适合完成某种具体的任务,因为其通常能够实现优化程度更高的解决方案。着眼于这两种思路对注释以及pull请求加以权衡并非易事。我个人的体验是,人们倾向于编写专用型代码,但却提供泛用型注释。人们在评论当中很少会提到“现有代码太过泛用”,而更多是在抱怨其专用型倾向太强。总结来讲:具体取向要依托于项目的发展预期。泛用型性格的贡献者希望打造出一款瑞士军刀性质的工具,而专用型性格的贡献者则希望其成为一把手术刀。2.完美主义者/概念论者这类特性专注项目是否符合标准与实践惯例。面对任何一项任务,在与相关工作团队进行讨论时,对于最终成效的判断都是有所差异的:有些人希望保证其完美符合现有标准,而有些人则认为取中位水平即可,另一部分则乐于通过我们前所未闻的方式加以实现。其中完美主义者会对语法进行吹毛求疵般的挑剔。他们会强调称,完成任务的唯一途径就是按部就班、严格遵循规则。他们会指出,如果想让项目取得成功,就必须按照他们的既定思路来推进。说实话,他们的观点通常都是正确的。他们也会深入查看我们的代码,并从中发现性能问题。即使是只需要运行三次的循环,他们也会提出建议以确保它们能够拥有更快的运行速度。这帮完美主义者希望让代码成果成为一种艺术品。他们热爱优雅、高度优化且符合标准的代码。在另一方面,概念论者则更鍖椾含涓鐨偆鐥呭尰闄?鍖椾含涓鍖婚櫌鍦ㄥ摢閲?
对号入座你属于开源性格测试六大分类中的
发布时间:2017-9-14 15:47:10 点击数: 次