1. 話說結對程式設計
眾所周知,結對程式設計(英語:Pair programming
)是一種敏捷軟體開發的方法,兩個程式設計師在一個計算機上共同工作。一個人輸入程式碼,而另一個人審查他輸入的每一行程式碼。
但是真實環境中,往往不止兩人結對程式設計:
- 眾後端圍著前端審查程式碼。
- 產品/設計/測試 圍著前端改樣式。
於是就會發展成下面這樣:
顯然,這不符合疫情期間的防範規定。況且在如今輕則AB班,重則居家辦公的如今,碼農新手們想找一個高手結對程式設計何其困難。
2. 遠端結對程式設計的各種姿勢
那麼,遠端辦公想找人結對程式設計,有哪些方法?我給大家總結了下:
- 視訊會議開桌面共享。其中一人講解程式碼,別的只能旁聽。
git
倉庫一推送一拉取,看註釋自行理解。費時費力不說,還費電。- 在
CodePen
等程式碼共享平臺,發一個供大家檢視。顯示,這個方式既不靈活也不安全,而且基本僅限前端。
直到我看到了CODING
出品的MetaWork
:
瞬間來了興趣:
- 程式碼協同,多游標高亮顯示。
- 實時預覽,終端協作。
- 內建留言板,邊聊天邊分享程式碼段。
- 內建視訊會議,讓你只需要瀏覽器就可以多人線上交流。
微信+vscode
+視訊會議+CodePen
? 且看我的試用分析。
3. 程式碼多人協作產品分析
在各類網課中,實際上是單向知識傳播,缺乏協作性。
- 老師開螢幕分享,能觀察到的只有學員表情。
- 學員需要開雙屏,邊敲邊看。遇到不明白的只能切換介面截圖。
- 需要各自開數個軟體,實現記錄/溝通的功能。
很多時候老師以為學員懂了,學員也以為自己懂了。
實際敲程式碼時,卻是處處遺忘,且回放直播往往需要等待系統生成。這樣的效率明顯不行。
在此之前我嘗試搜尋 "vscode
多人協作",發現microsoft
官方就出過一款:Live Share
:
大致有以下功能:
- 實時共享程式碼編輯
- 跟隨團隊其他成員的游標
- 協作除錯程式碼
- 共享本地伺服器
- 共享終端
且因為是國外產品,沒有漢化,且互動也有點潦草。
至少在不看文件的情況下,花了十幾分鍾才勉強搞懂如何操作。
且由於是國外外掛,在網路上也是時好時壞。有些水土不服的味道。
4. MetaWork
體驗
在我看來,多人協作/結對程式設計 的意義,除了工作上相互討論解決問題外,是要給予更多初學者幫助與成長。從Live Share
的整個體驗和模式上,對初學者的心智成本頗高,更像是給高手間過招的東西。
那麼,讓我們再次
回到MetaWork
的流程,感受一下這個產品的誠意。
4.1 發起者:
- 註冊,你需要登入
https://cloudstudio.net/
,註冊一個賬號。支援 CODING/微信/Github 三種。 - 到控制檯生成一個空間(為了方便起見,我用了官方
Vue
模板)。
- 開始協作。
可以看到,整個操作非常平滑,沒有割裂感。
- 將連結分享給他人
相比Live Share
,人家是發!郵!件!瞬間感覺MetaWork
接地氣多了。
4.2 被邀請人
- 登入,並開啟分享連結-> 立即加入。
這裡有道安全認證,防止不明人士窺屏。。。
待得發起者同意。
- 同意後就可進入協作介面。
親測整個過程,從載入編輯器到可協作,不到10秒。
- 進入跟隨狀態
可以看到,對方的每次鍵入,都可以清晰觀察到。
在超過2人時,每個游標都不同,便於區分
這就是所有程式碼協作都會設計到的功能:實時共享程式碼編輯,跟隨團隊其他成員的游標。
5. 功能點:留言板
起初覺得,這個留言板的功能有些雞肋:誰會放著微信不用?
但是細想:當我們需要在一個騰訊會議共享螢幕時,操作者/觀眾 的視野不在同一螢幕上。
溝通起來必須得切換不同軟體,這會使得注意力分散,且不夠專業性。
在使用後覺得:真香!
有個非常妙的功能:跳轉程式碼引用。
這可解決了很多網課的痛點:即使打了註釋,仍會稍不留意就忘了此段程式碼在何處。
甚至....還可以聊天摸魚,老闆以為你在認真敲程式碼(誤 。
6. 功能點:線上多人語音/視訊
這一步直接省去開視訊會議了。
真遠端結對程式設計,就是這個頭像還沒做好同步,希望官方再努力下。
腦海裡想到一個場景:多人同時線上程式碼修改,程式碼下見真章的節奏。。。
7. 體驗總結
若放在疫情前,我不認為線上程式碼協作有什麼應用前景。
但在如今,遠端辦公變為常態,線上課堂爆發性增長。時不時就會出現電腦不在身邊,需要額外接辦第二臺的煩惱。
而Cloud Studio
+ MetaWork
很好的解決了環境不一致(多人開啟同一個工作空間備份),以及需多款軟體實現遠端協作的問題。
你只需一臺 iPad
或 任意電腦的一個瀏覽器視窗,就可以實現線上敲程式碼,多人協作,留言討論和音視訊等所有遠端辦公的功能。
還不快來試試 Cloud Studio
+ MetaWork
?