开源个性化内容推荐引擎
团队合作自然会引起意见分歧,这是一件好事。 各种各样的意见有助于确保讨论所有想法,确定问题区域,并且手头任务的重点放在正确的位置。
但是,开源世界的情况有些不同。 开源贡献者充满热情-他们经常尽自己所能,因此通常将自己的性格根深蒂固。 这也发生在外部世界中,但是有一种趋势是,贡献者会在来之不易的空闲时间里更加热衷于他们正在做的事情。
在一家开源公司工作会增加自己的困惑:尝试平衡驱动力以完成管理层要求的工作以及项目前进的方向。 这可能是一个充满挑战的环境,尤其是如果公司是项目的贡献者,而不一定是所有者。
在本文中,我将研究做出贡献的人们的不同特征,他们的目标是什么,以及在阅读所有关于原始和明显完美的拉动要求的评论时如何平衡他们。 人们可能具有这些特征中的几个特征的组合,但通常围绕一个特征。 诀窍是找出人员的目标,并确定其是否符合项目目标。
泛型专家 此特征与项目在任何给定情况下的可用性有关。
一个genericist确保该项目是在任何情况下使用。 这通常伴随着范围的非常广阔的视野。 对代码的任何更改通常都会用变量替换字符串,添加抽象层或将其转换为插件,所有这些都是为了使项目更具可定制性和通用性。 尽管这种方法没有什么问题(相信我,我是一名泛型专家),但它通常会导致更复杂的代码,需要花费更长的时间编写且更难实现。
另一方面, 专家负责特定的用例。 他们通常会指出代码不需要处理这些用例,并且经常会在变量中进行硬编码并将内容附加到现有代码上,而不会使其在其他情况下可用。 专家会精通做好特定任务,并且这样做通常会导致更优化的解决方案。
在考虑评论和请求请求时平衡这种特性并不容易。 我的经验表明,人们通常会写得更具体,评论也更笼统。 人们很少会说“此代码太通用”,但他们可能会说它太具体了。 底线:考虑项目的未来。 通用主义者希望该工具成为瑞士军刀。 专家希望它是一把手术刀。
完美主义者/概念主义者 此特征与项目如何遵守标准和实践有关。 承担任何任务并将其交给一群人,您会得到一些以完美的标准完成任务的人,其他人将其置于中间,而另一组人以您从未想过的方式完成任务。
完美主义者将对语法进行质疑。 他们会告诉您,这只是做某事的唯一方法。 他们会告诉您,如果您想做Right?,那么您将按照自己的方式做。 老实说,他们通常是正确的。 他们还将是查看您的代码并查找性能问题的人员。 您只运行了3次(大声喊叫)的循环仍将被评论如何使它们加快6个循环。 完美主义者希望您的代码变得美丽。 他们喜欢优雅,高度优化,符合标准的代码。
另一方面, 概念主义者更热衷于将适用于代码库的内容。 在“使之工作,使其良好,使其快速”的生命周期中,他们正处于“使之工作”阶段,并且不愿意让它坚持完美主义者的内置短绒棉的每一个抱怨提供。 当然,把重点放在使某些东西起作用而不是使某些东西变得简洁上往往会使概念主义者击败完美主义者。
平衡此特征也可能很棘手-这取决于概念主义者的建议。 有时,时间可能是一个很大的因素,允许不符合完美主义者标准的代码不一定是一件坏事。 有时需要快速修复。 有时,概念验证代码也是必须的,并且没有时间或资源来使解决方案完美。 完美主义者还可能使概念主义者感到疯狂,因为他们对完美编码准则的坚持似乎已成为障碍。 但是,当涉及到可读性时,完美主义者的代码(满分100)中有99倍更容易阅读和维护。 底线:考虑时间限制,以及您是否有资源在以后做得更好。 完美主义者需要尽可能最锐利,最直的刀刃。 概念主义者不害怕使用看起来像小刀的东西来完成工作。
冒险家/传统主义者 在解决问题时,有些人喜欢将其作为尝试新事物的机会。 冒险家就是那个人。 毫不畏惧,有远见,前途无畏的冒险家一直在使用您所见过的最新技术,最新语法和最奇特的文档策略。 他们希望项目能够向前发展并“与之保持一致”,但也有一种天生的愿望,他们必须超越界限继续尝试新事物。 为什么不? 时髦! 这些冒险家经常会以科学的名义提议使用您从未听说过的图书馆,例如芥子酱或牛油菌。 当然,当一切都出错并且库不成熟时,手指指向何处? 那就对了。 我在看着你,冒险家。
另一方面, 传统主义者希望坚持使用久经考验且值得信赖的强大技术。 这并不是说他们很无聊,他们只是喜欢按照自己所知道的去做。 他们希望确保它能正常工作,并且通过使用去年(或之前一年)使用的相同技术,可以确保这一点。
是的,您猜对了,平衡这一特性:棘手的。 这是关于在新库/工具/代码库中发现新问题时,您可以花多少时间才能工作并可能清理问题的全部时间。 冒险家经常会告诉你这是双赢的,没有什么可以出错。 那时,传统主义者将开始恐惧。 一句话:您有时间花时间学习新技术吗? 团队其他成员吗? 它带来的好处是否超过了最初的学习曲线? 冒险家将要使用从未有人用过的钼钢合金刀片。 传统主义者将坚持使用多年来使用的相同材料。
放在一起 本文不是关于拳击的人。 这并不是要确保人们被分类在他们的小盒子里,并且永远不要离开他们。 当然,这与如何对待人无关。 所呈现的是在基于代码的环境中工作的人们的一些共同心态。 哎呀,在非基于代码的环境中甚至很常见。 它是作为一种工具提供的,因此您可以希望看到参数的另一面,并理解一个人在编写注释和代码时来自何处。
一个人永远不会仅仅是这些特征之一。 他们总是混在一起。 这种混合方式也将根据他们正在从事的项目,他们的时间和理解水平而变化。 就个人而言,我会称自己是一位相当沉重的普通主义者/完美主义者,具有中途冒险/传统态度。 了解自己的特质可以帮助您了解其他人如何对您的代码和注释做出React,以及识别其他人的这些特质。
在开源世界中,这些特征常常被夸大了。 当人们将自己的时间和精力投入到项目中时,他们会感到投入,并且真的想表达自己的声音。 因此,下一次您查看或撰写评论时,请尝试着将自己摆在每种个性类型的鞋子上,以了解为何按这样的方式写东西。 太容易以完美主义的观点抨击概念主义者,或者总是通过建议冒险的方式使传统主义者疯狂。 保持敏感并平衡所有观点。
【大数据|开源个性化内容推荐引擎_您是哪种开源个性类型()】翻译自: https://opensource.com/life/16/2/whats-your-open-source-personality-type开源个性化内容推荐引擎
推荐阅读
- java|开源 非开源_在从事开源律师职业之前要了解的内容
- 业界观点|深度学习崛起十年(“开挂”的OpenAI革新者)
- Spring Boot + Prometheus + Grafana 打造可视化监控,一目了然!
- 不归路之Python|什么是计算机网络(为什么需要网络通信?如何进行网络编程?)
- 计算机视觉|斯坦福大学计算机视觉课程cs231n——第一课(课程介绍 计算机视觉概述)
- 大数据|一看就明白的爬虫入门讲解(基础理论篇)
- 游戏|元宇宙概念股狂欢(错过了互联网,还能错过元宇宙吗())
- Java基础~无间断巩固|java基础-宇宙第一YWM(入门java--基础框图)
- 蓝桥真题|【蓝桥真题五】带三百人训练了十天精选蓝桥真题,看看他们都练些什么(三门语言题解)