如何編寫前端設計文檔?

在筆者所在的前端研發流程中, 【技術調研及方案設計】屬於連接【需求階段】和【開發階段】的中間節點。在需求詳評 (三審) 後了, 需求的功能和交互已經基本確定, 而在實際進入開發之前, 還有一些 待確定的技術要點需要補全, 這些要點包括:

而編寫前端設計文檔就是補全和完善上述這些技術要點的過程以及過程沉澱出的產物.

爲什麼寫前端設計文檔?

Measure twice and cut once 三思而後行

如果所有產品的功能都是在頁面上展示 Hello, World 的話, 那麼我們大概是不需要設計文檔的,然而現實世界的產品需求功能充滿了複雜性, 一個頁面可能展示了非常多不同來源數據, 有不同的交互細節, 周密的業務流程, 這就要求我們需要在動手開發之前先想好這個功能能不能實現以及如何實現.

試想一下如果不寫設計文檔, 擼起袖子就開幹可能會有哪些 Bad Ending?

我是三傻 · 史塔可嗎?

而設計前端文檔, 就是儘快能在開發之前將技術上不確定的點確定好, 將需求的設計方式提前構思好, 以減少後續開發出現風險和問題的可能性. 雖然技術文檔也不能 100% 預見或者評估出所有潛在的風險和問題, 但是技術文檔能在相當程度上減少這類風險.

除了通過設計文檔儘量避免上述的問題之外, 設計良好的前端文檔可以幫助你提升開發的質量和效率, 原因如下:

如何寫好前端設計文檔?

既然編寫設計文檔可以更好的幫助我們在開發前階段進行趨利和避害,那麼編寫設計文檔應該是一件很有必要的事情了, 在這個判斷下, 我們新的問題是: 如何寫好一篇設計文檔?

筆者認爲一篇合格的設計文檔應該滿足至少幾個條件

以上是一些關於設計文檔的理論描述, 下面讓我們關注一些更具體的細節

讓我們舉個🌰例子

以筆者遇到過的一個複雜需求爲例, 這個需求的內容接入用戶反饋的 SDK, 並且在反饋的後臺系統看到這個用戶的反饋和用戶信息, 我當時的設計過程是這樣的:

有了整體的流程結構, 讓我們來思考一下其中關鍵環節的細節

在把技術流程和方案確定以後,我們要開始對功能的實現進行具體的設計

當走到這裏的時候, 需求的整體流程、前後端交互方式、以及具體功能實現可以說基本完成了, 這時候再開始動工就減少了技術上的不確定性, 開發思路也瞭然於胸中, 可謂是文思如泉湧,按鍵如有神⌨️

當然, 即使是到了這一步也不能說是思考的終點, 在開發、聯調、測試、部署中還是可能會有意外事情的發生, 但是隨着你設計思路和實踐的逐步完善,這種意外會相對減少,即使發生你也能遊刃有餘, 總能夠保證需求高質量、高效率的交付, 成爲團隊信賴的小夥伴👏

最後附上筆者團隊前端的設計文檔模版

1. 需求背景及資源

2. 排期

需求 Timeline

0twTKJ

排期拆分

cp9Gsi

3. 設計方案

整體方案

頁面設計

組件設計

公用模塊

4.Todos

感謝你閱讀到這裏, 請注意這也只是筆者根據自身經驗提出的一些關於技術設計的建議, 也存在不少筆者未曾設想的方面和不完善之處, 請讀者也根據實際情況不斷完善設計實踐, 並和大家一起分享.

參考資料

[1] 這樣的需求: https://zhuanlan.zhihu.com/p/41305243

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/l2NTuyDahF6wXHE91MgT-A