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

深圳建设局官网站首页慧聪网

深圳建设局官网站首页,慧聪网,庄行网站建设,有没有免费b2b平台极限编程之社交编码 观看本视频后,你将能够: 描述社交编码原则,并认识到结对编程如何创造出更好的代码以及培养更优秀的程序员。 什么是社交编码? 我喜欢把它称为 “内部开源”。 社交编码是开源社区多年来一直在做的事情。 新的…

极限编程之社交编码

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

http://www.dtcms.com/wzjs/275108.html

相关文章:

  • 哪里可以学习做网站关键词调词平台费用
  • 北京网络电视台成都seo
  • 排名好的网站开发搜索风云榜入口
  • 网站建设安全与威胁网络营销文案策划都有哪些
  • 免费建网站软件下载手机网络营销的方法包括哪些
  • 保定高端网站建设网站整合营销推广
  • 网站建设自建的优点百度问答平台入口
  • 以公司做网站成都新一轮疫情
  • 网站功能建设特点珠海seo排名收费
  • 服装定制公司网站怎么优化推荐
  • 深圳网站设计收费标准下载安装百度
  • 麻涌镇网站建设广东东莞疫情最新消息
  • 瑞安做网站多少钱现在推广什么app最挣钱
  • vue做电商网站怎么做seo关键词优化
  • 衡水做网站的公司全球疫情最新数据
  • seo做的最好的网站百度云搜索引擎
  • 动力做网站推荐友情链接
  • 网店网站建设规划方案推广普通话的意义论文
  • 模板型网站新浪舆情通
  • 做网站系统学校链接提取视频的网站
  • 可以自己做网站的软件下载学校网站模板
  • 建设网站建设网页制作0402高设计词网站的建设流程
  • 婴儿网站建设住栏目广州网络推广万企在线
  • 怎么防止别人复制网站网站产品推广
  • 做网站数据对电脑要求宁波seo优化排名
  • 怎么做监测网站的浏览量世界十大网站排名
  • 做网站开发学什么软件今天国际新闻最新消息10条
  • 电商网站开发 思维导图关键词挖掘啊爱站网
  • 专业企业网站建设定制营销策略方案
  • intitle 无线网站制作网站优化的方法有哪些