使用Git和Gerrit清洁版本控制

版本控制不是软件开发中最有趣的问题,并且由于Github的无处不在,许多组织只是觉得这已经被解决了。 但是,使用Git对软件进行版本控制的方法有另一种,当人们不知道它时,我总是感到惊讶。 这是一个鲜为人知的代码审查工具,最初由Google为开发Android而开发。 如今,有很多方法可以帮助您了解Gerrit,但在进行此操作之前,请先备份一下。 Gerrit的核心是代码审查工具,但其工作方式可能会对团队的工作流程产生更大的影响。 Gerrit充当开发人员和实际git存储库之间的中间人。 您无需将提交直接推送和合并到您的存储库中,而是将它们推送到Gerrit,在那里可以对它们进行代码审查和验证之类的工作(稍后再介绍)。 在Gerrit中暂存后,原始开发人员可以在其计算机上编辑或更改提交,然后可以将其再次推送到Gerrit。 通过一个神奇的“ Change-Ids”系统,Gerrit可以跟踪所有提交的所有版本,并创建“补丁集”-单个提交的堆栈,这些堆栈可以跟踪您的所有编辑和迭代。 它还将那些补丁集与其他相关的提交相关联,从而创建了一个可单独查看,编辑和合并的提交堆栈。 运作方式如下: 每次开发人员将提交的新版本推送到Gerrit时,系统都会为该提交创建补丁集列表。 使用此系统,代码审阅者可以使用Gerrit Web门户查看每个补丁集相对于其任何前任产品的逐行差异,以确切查看更改内容。 注意右上角显示“补丁集(2/2)”的地方吗? 这意味着我推送了此提交的2个不同版本。 我推了一个,有人对此发表了评论,然后我推了另一个,以解决这些评论。…

为什么只专注于一个单独的项目或技术既困难又收获颇丰

Stefan Cosma在Unsplash上​​拍摄的照片 我已经阅读了很多有关媒体的文章,并决定开始撰写一些关于我作为开发人员的经历的文章。因此,这是我的第一篇有关一次关注一个技术或附带项目的文章。 在不断发展的技术世界中,在短短几周内就推出了新的库,模块,框架甚至语言。 无论是前端,数据科学乃至DevOps,都有许多模块,语言和方法可用于实现同一任务。 Python,R辩论或React,Vue与Angular辩论有时会在社交订阅源和Reddit上出现。 公司也正在寻找招募开发人员,这些开发人员知道各种堆栈中各种技术的混合。 全职开发人员和数据科学家已成为大多数职位空缺中的新趋势关键字。 因此,为了获得良好的职位或职业发展,我们大多数人都试图结合使用和学习各种技术。 哎呀,每年都有图表和可视化图表来概述成为全栈开发人员的途径,最终成为可以驱动公司产品并领导多个部门团队的人。 但是,要获得这种技能非常困难,并且最终要掌握所有东西,甚至对基本知识一无所知。 故事的另一部分是,当我们作为开发人员对个人副项目有这些令人难以置信的想法时,因为让我们面对现实吧……大多数开发人员暗中希望自己拥有成功的创业公司,并最终成为一家技术巨头。 这种想法没有错,但是如果您像我一样,有机会开始进行一个侧面项目,就可以全心全意地完成其中的一部分,直到突然有新的想法出现,甚至连第二个想法都让您开始下一个好主意。 开始附带项目的前几周感觉就像我们实际上在改变生活并取得有价值的成就。 但是随着时间的流逝,我们的兴趣开始下降,奉献精神逐渐消失,每天的小时代码开始让人感到杂乱无章,有时在该辅助项目中根本没有新颖性。 慢慢地,我们暗自希望放弃,尽管我们会尽最大努力继续前进。 但是随后,我们的提要中出现了一篇有趣的文章,内容涉及一些很酷的概念,我们从同事那里听到了有关这种新框架或技术的信息。 出于好奇,我们对此进行了研究,它似乎更加有趣,值得我们花时间。…

介绍评论轮盘

在Moxio,我们最近开始了一个名为“审阅轮盘”的实验:随机代码审阅的过程。 我们认为这强调了代码审查作为双向学习的一种手段,并有助于新手入门,因此对我们先前的审查“政策”有所改进。 在这篇文章中,我想勾勒出该实验背后的背景,解释“ Review Roulette”的想法,并提出一些初步结果。 我们的旧情况 在引入Review Roulette之前,我们已经进行了大量代码审查。 大约四年前,我们在本地网络上建立了一个ReviewBoard服务器,并开始使用它来讨论和审查代码。 审核将在该工具中进行,如果需要,可以使讨论脱机。 到目前为止,我们还没有关于什么以及如何进行审查的正式政策:可以选择进行变更进行审查,并且作者选择了审查者和提交时间(提交前或提交后)。 有时,复审请求只是一个粗略的讨论想法; 在其他时候,将有完整的实施方案来验证。 这种方法使开始进行代码审查变得容易,并确保其引入或多或少没有阻力。 它还使审查负担和官僚管理负担保持在较低水平,从而轻松进行小规模修复和改进(本着童子军规则的精神),而无需经过正式的审查流程。 然而,这种松散的结构也具有其缺点。 在实践中,选择加入代码审查意味着大多数要审查的主题都是较困难或“有争议的”变更,这些变更势必引发大量的讨论(他们经常这样做)。 这给代码审查带来了太多麻烦的讨论和艰难的决定。…

改进您学习,更好,更快地学习的方式

Improv4在圣地亚哥的敏捷联盟2018会议上首次亮相,引领学习即兴表演:从喜剧传奇中进行互动式学习。 在本次会议中,我们做了即兴游戏和练习,以帮助敏捷管理者和领导者发展自己的无畏感和游戏意识,并摆脱激发团队中这种无畏感和游戏意识的工具和方法。 我们进行了爆炸! 在Instagram(@ improv4you)上观看我们的精彩视频,亲眼看看。 除了获得很多乐趣之外,我们还学到了东西。 我们学会了如何通过乐趣和欢笑来学习和启发学习。 我们学习了如何在工作和生活中少怕恐惧地生活并勇于行动。 我们学习了如何将游戏精神带入我们的成年生活和工作场所。 我们学习了在安全有趣的环境中学习和实践失败的方法。 我们学习了应对不断变化的环境以及他人不断变化的学习需求的方法。 我们学习了如何快速练习思维。 由于即兴创作为实验提供了一个心理上安全的地方,它使我们能够学习在优雅的环境中犯错误,挑战自我并面对恐惧,因此当我们在“真实世界”中遇到挑战时,我们也可以应对这些错误。充满勇气和挑战。 感谢您在敏捷联盟2018年大会上说“是的,并且即兴创作”。 一旦我们为即兴会议创造了空间—消除了判断并为尝试新事物,愚蠢行事和变得脆弱提供了空间,我们将分享即兴创作的核心4原则:“是,”和“一切都作为礼物” ,“播放您所处的场景”,“如果感觉很奇怪,那就去做”,这样每个人都可以玩得开心,并从即兴演奏中获得尽可能多的意义。 因为首字母缩写很有趣且令人难忘,所以我创建了首字母缩写FFLOQ (将其发音为“…