當前位置:
首頁 > 最新 > 假如編程是一款對話遊戲,測測你能打到哪一關!

假如編程是一款對話遊戲,測測你能打到哪一關!

系統

歡迎進入本遊戲,現在給你的角色起一個名字吧!

輸入名字:Chat 達人

系統

Chat達人你好, 現在你是一個有3年開發經驗的程序員, 這一周,你將會和你的同伴 Samara 一起給一個音樂視頻推薦系統開發功能原型。最初的特性集不需要打磨得多麼完美,只要能實現基本功能,並從對產品感興趣的人那裡收集反饋即可。

對這個嶄新的音樂視頻推薦系統,你聞所未聞,所以不知道應該對它有何期待。

此時你的選擇是……

a. 上網搜集競品資料,參考競品的功能為自己提供靈感。

b. 和客戶做進一步溝通,了解具體需求再做打算。

c. 和你的夥伴腦暴一下,看能不能碰撞出出色的想法。

你點擊了b。

你約見了你的客戶 Ross,想和他簡單聊聊,以便了解從何處入手。

以下是你們的對話。

向上滑動閱覽

:Ross,你好!感謝你的接待。我的開發夥伴 Samara 也在聽咱們的談話。如果你方便的話,咱們隨時可以開始。

Ross:好的,我已經準備好了。第一步要做什麼?

:是這樣,我想先聽一下你的想法。你為什麼會對音樂視頻推薦感興趣呢?了解這一點可以幫助我們確定在原型設計過程中應該重點關注哪些問題。

Ross:可以,沒問題。我們開了一個博客,在裡面發布一些精選音樂視頻列表。這個博客到現在已經開了有好幾年了。我們有專業的合作方,專攻各個種類的音樂列表製作。不過,人們如果想要查看某個列表,需要手動搜索。

幾年來,我們在博客上分享了 4000 多個視頻,已經形成一個相當大的音樂庫,但現在唯一的檢索方式仍然是查找博客文章。

我們現在開始考慮怎麼能更便捷地檢索音樂庫。考慮了幾種方案之後,我們認為構建一個推薦系統之類的東西也許行得通。

最初的版本可以比較簡單,但最好能儘快做出點東西來。我們想先將它呈現給幾十個最活躍的社區用戶和博客內容貢獻者。

:這個項目聽起來很不錯!那咱們開始幹活吧!

此時你面臨一個選擇。

a. 新系統作為獨立項目。

b. 新系統要和現有的某些系統整合在一起。

你選擇了b。

你們深入討論了如何設計軟體原型,以便讓音樂視頻博客的讀者更容易上手。

最終,你提出了一個簡單易行的解決方案:用博客搜索視頻,並將搜索結果作為原型中的樣本。

通過這種方法,新推薦系統中的內容對於 Ross 和博客讀者來說都是熟悉的,而且新的應用和原來的網站之間會有很清晰的聯繫,即使二者在技術層面上是用完全不同的兩套代碼實現的。

此時,需要你畫一幅線程圖來解釋一下你的方案。

向上滑動閱覽

:剛開始設計用戶界面時,我們可以從居中前置的視頻播放器這個頁面入手。在播放器下面可以放幾個推薦視頻的縮略圖,這幾個推薦視頻是根據正在播放的視頻選出來的。你覺得這個設計怎麼樣?

Ross:看起來還不錯,跟我在別的網站上看到的視頻播放器差不多。這對我們的用戶來說應該挺容易理解的。

:太好了!在我們繼續討論之前,我和 Samara 想根據這張圖做一個真實的網頁。所有的圖片都將用占點陣圖模擬,所以做這個網頁不會花太長時間。我們要用這個模擬網頁測速成原型法的意義是拉近項目中每個參與者之間的距離:不僅是開發人員和客戶之間,也包括客戶和用戶之間。

Ross:沒問題,如果你們覺得有幫助,就去做吧。

要達到這些目標,你需要先搭建一個人人都能使用的交互系統。

這樣做不僅可以鼓勵大家親自操作和試驗,而非紙上談兵,還能讓大家更方便地了解你的進度。

此時,你開始進入編寫和發布Web應用的日常流程。

由於你使用了一個正規的應用託管平台,因此這種流程無非就是用你最喜歡的框架新建一個 Hello World 頁面,然後把代碼推送到一個支持你所用的工具鏈的 Git 倉庫。從這一步開始,平台就可以自行安裝所需依賴項,並自動啟動 Web 伺服器。

你把 Web 應用的基礎結構部分中能砍掉的都砍掉了,甚至連資料庫系統都暫時沒有建,因為現在還不清楚是否需要。你玩的就是「大規模投資不足」,而且你還玩得不錯。

你花幾分鐘搭建了一個你常用的 CSS 框架,同時 Samara把一些占點陣圖拼湊了一下。這些工作做完後,你寫了一些簡單的 HTML 代碼,把圖片和一些編好的標題對齊到網格。

你部署了代碼。過了一分鐘,網頁就發布到網上了。

你給 Ross 發了一條消息,告訴他你做好了一個頁面並請他過目。

過了一會兒Ross回:

程序員朋友們好!

我剛剛試了一下這個頁面。在我的筆記本電腦上,頁面看起來和你們給我看的草圖差不多,這沒問題。

我又在手機上試了試,但頁面看起來就有點彆扭了。視頻和屏幕一樣寬,而且下面的推薦視頻被排成長長的一列,而不是並列的一行。

我們絕不是希望剛一開始就讓這個頁面看起來多漂亮,但是至少可以讓所有的推薦視頻盡量在一屏里顯示完整,而不是需要往下翻,去看一個又一個完整大小的視頻。

你們覺得這個問題好解決嗎?

Ross

此時的你,會做何選擇?


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 GitChat精品課 的精彩文章:

分散式NewSQL資料庫實踐——民生銀行經典案例

TAG:GitChat精品課 |