当前位置: 首页 > news >正文

高速公路建设网站苏州聚尚网络科技有限公司

高速公路建设网站,苏州聚尚网络科技有限公司,在网上做网站,百度热议排名软件极限编程之社交编码 观看本视频后,你将能够: 描述社交编码原则,并认识到结对编程如何创造出更好的代码以及培养更优秀的程序员。 什么是社交编码? 我喜欢把它称为 “内部开源”。 社交编码是开源社区多年来一直在做的事情。 新的…

极限编程之社交编码

观看本视频后,你将能够:
描述社交编码原则,并认识到结对编程如何创造出更好的代码以及培养更优秀的程序员。
什么是社交编码?
我喜欢把它称为 “内部开源”。
社交编码是开源社区多年来一直在做的事情。
新的变化在于将这些概念引入企业,并以社区的形式在内部项目中进行编码。
过去,开发人员在私有代码库中工作,只有团队成员才能进行代码贡献。
一切都由访问控制列表和严格的 “需要知道” 原则控制。
这样做的问题在于,没人知道你正在进行相关工作,所以代码复用根本不可能,因为没人知道这些代码的存在。
因此,企业不断地重复造轮子,因为没人知道轮子已经被造出来了。
在社交编码模式下,代码库是公开的,并且鼓励每个人复刻代码并进行贡献。
这是一种截然不同的思维方式。
开发团队往往会认为 “这是我的代码,其他人不许碰”,但为了公司的利益,他们需要摒弃这种想法。
你可能会认为这样会陷入混乱,但实际上,它运行得相当好,因为代码库所有者会进行管控。
代码库的所有者仍然完全掌控着代码贡献。
社交编码解决了什么问题?
假设你看到一个组件,它能满足你80% 的需求,但缺少一些功能。
你要如何添加这些缺失的功能呢?
现在你需要做出一个决定:
你是向代码库所有者提出新功能的请求,但要冒着请求被排在优先级列表末尾的风险?
或者更糟糕的是,他们的资金被削减,你的请求会首先被砍掉。
还是说,为了不依赖其他团队,你要把代码全部重写一遍,只为了得到那20% 你需要的功能?
很遗憾地说,许多团队选择了后者,为了获得所需的功能而重新造轮子。
这对任何一家公司来说都是巨大的资源浪费,但这种情况却一直在发生。
采用社交编码原则是如何解决这个问题的呢?
你和代码库所有者讨论新功能,并且你们达成一致,由你为他们开发这个功能。
这使你能够利用他们已完成的所有工作,并添加你需要的功能。
你在GitHub上创建一个问题,并将其分配给自己,这样每个人都知道你正在处理这个问题。
然后你复刻代码库,创建一个分支,并进行你的修改。
当你完成所有工作并准备好贡献代码时,你发起一个拉取请求,表明你已准备好接受审核,代码库所有者可以决定是否将你的代码合并回主项目。
代码库所有者拥有完全的控制权。
因为是他们进行合并,所以他们可以要求你做出修改。
如果你的测试覆盖范围不够,他们可以要求你编写更多的测试用例。
他们会像对待团队的其他成员一样对待你和你的贡献。
这是一个双赢的局面。
你得以利用另一个团队的代码以及所有你需要的功能,而另一个团队则免费获得了一个新功能。
公司也节省了资金,因为代码得到了复用,而不是重写,皆大欢喜。
这就是开源的运作方式,也是公司对待内部代码应有的方式。
结对编程是社交编码的一个方面,它源自极限编程。
它是指两名程序员共用一台工作站(两人共用一个屏幕、一个键盘和一个鼠标)。
坐在键盘前操作的程序员通常被称为 “驾驶员”。
另一位程序员同样积极参与编程任务,但更侧重于整体方向,被称为 “领航员”。
当 “驾驶员” 在打字时,“领航员” 会检查其工作,或者查找一些资料,又或者思考接下来要做什么。
大约20分钟后,他们交换角色。
这样他们两人都能扮演这两个角色。
在工作中,我一有机会就会进行结对编程。
我喜欢社交编码的这个方面。
我个人的一个弱点是,我会为给新变量或函数取什么名字而苦恼。
我想把它取到完美,让代码尽可能易读。
有其他人一起交流想法,能帮助我更快地做出这些决定。
你可能会认为结对编程是用两倍的资源来完成同样数量的工作,但事实并非如此。
结对编程有很多好处。
第一个好处是代码质量更高。
“大声编程” 这种方式能让人对代码有更清晰的理解。
过去,当我独自编写代码,然后向别人解释这段代码时,我会在大声讲解的过程中发现一个错误。
我在脑海中检查代码时没有发现这个错误,但在大声说出来的时候却发现了。
向别人解释代码会迫使你把代码写得更清晰。
这意味着可以更早地发现缺陷。
这是一件好事,因为它能降低后续的维护成本。
在开发过程中,缺陷发现得越晚,修复成本就越高。
结对编程还能促进技能传授,培养更优秀的程序员。
我喜欢让初级程序员和高级程序员结对。
我经常这么做,这样他们就能从对方解决问题的方法中学到东西。
他们会学到对方使用的技巧和窍门。
这能培养出更优秀的程序员。
而且每一行代码都有两双眼睛在检查。
你不会希望代码只有一个人能看懂。
不然那个人去度假了,就没人知道如何修复他的代码了。
结对编程能让人对代码有更好的理解。
更多的人能够充分理解代码,从而进行修复和改进。
在本视频中,你学到了:
社交编码是通过公共代码库以社区协作的方式进行的,所有团队成员都被鼓励进行贡献。
结对编程能够提高代码质量,因为它能更早地发现缺陷、降低成本,并且让更多人理解代码库。

http://www.dtcms.com/a/503975.html

相关文章:

  • 宁夏网站seo国家信用信息企业公示系统
  • Linux系统调用中的dup和dup2函数详解
  • 【Svelte】+layout.ts 会执行几次?
  • 大良营销网站建设行情沧州住房和城乡建设部网站
  • 美橙建站五站合一软件网站备案主体空壳
  • 建筑工程施工企业项目管理软件推荐及深度分析
  • 音乐分享网站开发合肥网站建设新浪营销
  • 安卓从网站获取视频怎么做个人营销网站
  • 3.3循环语句
  • 静默安装金仓数据库,到底有多简单?
  • 个人网站设计分类北京优酷首页培训机构
  • 中山网站建设的价格茂名建站价格
  • 定远建设局官方网站怎么制作自己的个人网站
  • 南宁响应式网站制作中企动力做网站 知乎
  • 制作公司网站有哪些好处微信公众号怎么二次开发
  • 保持电脑不息屏-skill
  • 配置openguass 教程(自存)
  • 3.4循环控制
  • 上海发乐门网站建设公司鞍山招聘网最新招聘
  • FastAPI之 Python的类型提示
  • 注意力机制(Attention)介绍和示例
  • 做网站要实名吗呼和浩特网站运营公司
  • 做网站二维码怎样自己做网络推广网站
  • 望牛墩做网站中国空间站对接成功
  • 6.3 文件传输协议 (答案见原书 P277)
  • BLDC电机矢量控制(FOC)深度解析:从理论到实践
  • MySQL中常见的锁
  • 浙江杭州seo网站建设网站优化在微信上做网站
  • 招商网站平网站平台地方购物网站盈利模式
  • 网站建设培训心得南京紫米网络科技有限公司