1. 话说结对编程
众所周知,结对编程(英语:Pair programming
)是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。
![994159e1d95d701381ffaefdac2bb33e.jpeg](https://i-blog.csdnimg.cn/blog_migrate/7ab4606e4cf2dac3adafb16c83b50cb3.jpeg)
但是真实环境中,往往不止两人结对编程:
众后端围着前端审查代码。
产品/设计/老板 围着前端改样式。
于是就会发展成下面这样:
![a4c6adf4986a381b80d5544f6bc5fa39.jpeg](https://i-blog.csdnimg.cn/blog_migrate/c1140def1737843b8a78308f40db3270.jpeg)
显然,这不符合疫情期间的防范规定。况且在如今轻则AB班,重则居家办公的如今,码农小菜鸡们想找一个大佬结对编程何其困难。
2. 远程结对编程的各种姿势
那么,远程办公想找人结对编程,有哪些方法?我给大家总结了下:
腾讯会议开桌面共享。其中一人讲解代码,别的只能旁听。
git
仓库一推送一拉取,看注释自行理解。费时费力不说,还费电。在
CodePen
等代码共享平台,发一个供大家查看。显示,这个方式既不灵活也不安全,而且基本仅限前端。
![06cf7eec0aabe274cfdb84dae835a67e.png](https://i-blog.csdnimg.cn/blog_migrate/383b0875f3439cfa688852c55b39c533.png)
直到我看到了CODING
出品的MetaWork
:
【视频】
瞬间来了兴趣:
代码协同,多光标高亮显示。
实时预览,终端协作。
内置留言板,边聊天边分享代码段。
内置视频会议,让你只需要浏览器就可以多人在线交流。
微信+vscode
+腾讯会议+CodePen
? 且看我的试用分析。
3. 代码多人协作产品分析
在此之前我尝试搜索 "vscode
多人协作",发现microsoft
官方就出过一款:Live Share
:
大致有以下功能:
实时共享代码编辑
跟随团队其他成员的光标
协作调试代码
共享本地服务器
共享终端
且因为是国外产品,并没有汉化,且交互也有点潦草。
至少我在不看文档的情况下,花了十几分钟才勉强搞懂如何操作。
且由于是国外插件,在网络上也是时好时坏。有点玩具的味道了。
4. MetaWork
体验
在我看来,多人协作/结对编程 的意义,除了工作上相互讨论解决问题外,是要给予更多初学者帮助与成长。从Live Share
的整个体验和模式上,对初学者的心智成本颇高,更像是给高手间过招的东西。
那么,让我们再次
回到MetaWork
的流程,感受一下这个产品的诚意。
1. 发起者:
注册,你需要登录
https://cloudstudio.net/
,注册一个账号。支持 CODING/微信/Github 三种。到控制台生成一个空间(为了方便起见,我用了官方
Vue
模板)。
![894b3d97cd3a492703fe72b2c9bbe0de.png](https://i-blog.csdnimg.cn/blog_migrate/297a05478b66858019b1c7247cd50cfd.png)
开始协作。
![766b235cf5bd4da7666d8e998070bec0.gif](https://i-blog.csdnimg.cn/blog_migrate/72ebee4e7711f6b83137ac947e5693f5.gif)
可以看到,整个操作非常平滑,没有割裂感。
将链接分享给他人
![74849d4c44f37719fbde1033c869782c.png](https://i-blog.csdnimg.cn/blog_migrate/e0771982af3267fa5aeb40a7f838403a.png)
相比Live Share
,人家是发!邮!件!瞬间感觉MetaWork
接地气多了。
2. 被邀请人
登录,并打开分享链接-> 立即加入。
这里有道安全认证,防止不明人士窥屏。。。
待得发起者同意。
同意后就可进入协作界面。
![7bcd24a00be21191359592e2503e8de2.gif](https://i-blog.csdnimg.cn/blog_migrate/6307d15b64b3119408a0176540bba41b.gif)
亲测整个过程,从加载编辑器到可协作,不到10秒。
进入跟随状态
![2a7870ca61133b238019b290a03ba763.png](https://i-blog.csdnimg.cn/blog_migrate/9f7915d81303c8cf2a06ef7544be7461.png)
可以看到,对方的每次键入,都可以清晰观察到。
在超过2人时,每个光标都不同,便于区分
![3fadc323c1b7bbb99295b352f655fa97.png](https://i-blog.csdnimg.cn/blog_migrate/c5de144cdf44889664ff80d8ef47a5b2.png)
这就是所有代码协作都会设计到的功能:实时共享代码编辑,跟随团队其他成员的光标。
5. 功能点:留言板
![cb828082f3636431d20a6fd87f1ed7c7.png](https://i-blog.csdnimg.cn/blog_migrate/2ba41dacc98f243a9caea7aeeeccbd26.png)
起初觉得,这个留言板的功能有些鸡肋:谁会放着微信不用?
但是细想:当我们需要在一个腾讯会议共享屏幕时,操作者/观众 的视野不在同一屏幕上。
沟通起来必须得切换不同软件,这会使得注意力分散,且不够专业性。
在使用后觉得:真香!
![15ae83d31a8e0c950b62d66950ec2781.png](https://i-blog.csdnimg.cn/blog_migrate/899863d9549e2020a0e57e641e695af1.png)
有个非常妙的功能:跳转代码引用。
![6bccce5824c795187fd160d196bb49a0.gif](https://i-blog.csdnimg.cn/blog_migrate/4aeeaea4e71329be4f6b2b0a61790772.gif)
这可解决了很多网课的痛点:即使打了注释,仍会稍不留意就忘了此段代码在何处。
甚至....还可以聊天摸鱼,老板以为你在认真敲代码(误
![3ebb28df6ff351f1a13107106b43cfd5.jpeg](https://i-blog.csdnimg.cn/blog_migrate/da984aad72420814603535eb874f4c59.jpeg)
美中不足的是,目前还不支持发送图片和表情包(这个老六我真的服了)。
![c7c63db1620cfb5bee2090edcfcd6298.png](https://i-blog.csdnimg.cn/blog_migrate/66f83d6401bdde04c7ad1e5631369ef6.png)
6. 功能点:在线多人语音/视频
![29ee77365989f193e30b0f97704b01b9.png](https://i-blog.csdnimg.cn/blog_migrate/02864407dfc3b80d35cf217fd2c52a14.png)
这一步直接省去开视频会议了。
![f5385218a53d010a76fd05b5284fc275.jpeg](https://i-blog.csdnimg.cn/blog_migrate/0c474ccb92df572ef2c724dac265ca6a.jpeg)
真远程结对编程,就是这个头像还没做好同步,希望官方再努力下。
脑海里想到一个场景:
![e9e4a5e1e8c624b39492612254740a38.png](https://i-blog.csdnimg.cn/blog_migrate/4d5e515abd882b83652bb35a25022892.png)
7. 体验总结
若放在疫情前,我不认为在线代码协作有什么应用前景。
但在如今,远程办公变为常态,在线课堂爆发性增长。时不时就会出现电脑不在身边,需要额外置办第二台的烦恼。
而Cloud Studio
+ MetaWork
很好的解决了环境不一致(大家都共处一个工作空间),以及需多款软件实现远程协作的问题。
你只需一台 iPad
或 任意电脑的一个浏览器窗口,就可以实现在线敲代码,多人协作,留言讨论和音视频等所有远程办公的功能。
就这,不香?
美中不足的是:
光标跟随还有些小Bug。
留言板未实现分享图片的功能。
目前仅支持3人在线协作(听说后面会开放更多人)。
如果你觉得这篇内容对你挺有启发,我想邀请你帮我三个小忙:
点个「在看」,让更多的人也能看到这篇内容(喜欢不点在看,都是耍流氓 -_-)
欢迎加我微信「huab119」拉你进技术群,长期交流学习...
关注公众号「前端劝退师」,持续为你推送精选好文,也可以加我为好友,随时聊骚。
点个在看支持我吧,转发就更好了
如果觉得这篇文章还不错,来个【转发、收藏、在看】三连吧,让更多的人也看到~