CoC: Context over Code, Coaching Pattern Series

來源:互聯網
上載者:User

Code is cheap, show me the talk. -- from 力岩.

模式名稱

  • CoC, Context over Code

意圖

  • 通過講解背景問題和曆史, 而不是目前的方案, 使新人(新換入的pair)更快速和透徹的理解目前的代碼

動機

當新人加入項目開始Pair, 或者交換Pair後, 留守Feature的人要負責向新Pair講解目前的設計和代碼. 而一個壞味道是, 留守的人往往急於開始編碼, 草草帶著新人過一遍代碼就開始新任務了. 我們可以使用Navigator/Observer的結對模式來降低新人寫代碼的難度, 可新人對於代碼的粗淺的理解, 長久的困惑, 始終會影響著效率以及設計品質. 這個影響在以下情況下會更明顯:

  • 軟體功能越來越強大, 內建的商務邏輯/corner case越來越多, 而現有代碼的表達能力無法使高層的需求直接映射到底層實現上, 即從代碼中難以看出"為什麼這麼做"的意圖
  • 在兩個相對獨立的Feature Team中交換pair時
  • 新人剛加入項目組開始編碼時

這時, 我們需要更好的coaching的技巧

方案

穿透曆史的迷霧才能看清現狀. 而在描述曆史方面, 自然語言比程式設計語言和版本控制系統的log更為高效, 故事比代碼更新引人.

講講之前的故事, 講講面臨的約束和眾多的可選方案, 代碼中只有最後的設計決定, 而沒有當時面臨的設計約束. 把五分鐘的介紹擴充成半個小時的聊天, 來龍去脈都講一下. 可以問新人問題, 當碰到這種約束時你會怎麼做? 你這麼做了又引入了別的問題, 然後怎麼改進? 引導新人自己推匯出當前的設計, 這樣自然就解決了理解問題.

已知應用

相信很多Team都在用. 在做CWP IAS Plaform時, 我們花在講解Context上的時間大約佔整個開發過程的1/4到1/3.

相關模式

  • SoS, Story over Solution. 該模式同樣強調講故事, 不過其意圖是降低Team成員對一些新的改變的抵觸情緒, 引導他人接受改變

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.