寫前端文檔
我想前端開發(fā)過程中, 無論是團(tuán)隊(duì)開發(fā), 還是單兵做站, 有一份開發(fā)文檔做規(guī)范, 對開發(fā)工作都是很有益的.
前端文檔缺失的原因
前端開發(fā)的文檔相信大多數(shù)情況下都沒有后端的服務(wù)描述詳細(xì),而大多數(shù)測試也僅僅在黑盒測試,所以很多情況下對這片文檔的描述都廖廖無幾。
1、前端開發(fā)的代碼分散——沒有規(guī)范化,沒有很好的設(shè)計(jì),大多數(shù)人仍以業(yè)務(wù)為主的開發(fā)方式。
2、測試人員對前端仍然處于黑盒測試,有沒有文檔都不影響到他們的測試進(jìn)程。
3、一旦業(yè)務(wù)定型,用傳統(tǒng)方式的文檔模式,很難復(fù)制到前端開發(fā)來。——改變了開發(fā)方式(從作坊式到規(guī)范化)讓人難以適應(yīng)。
嘗試對癥下藥
對于代碼分散的問題需要從源頭解決。從規(guī)范化開始,試點(diǎn)從頭到尾慣穿規(guī)范化,強(qiáng)制的約定,使代碼質(zhì)量提高。
這一塊需要下大力氣,中間加入設(shè)計(jì)review、代碼review等環(huán)節(jié)。需要注意的是粒度把控,即什么是必須的,什么是可選的,什么是約定的等有共識。
1、功能描述
開發(fā)前的工作,對編碼者來說必須收集需求。對于使用者來說,能夠知道寫這個代碼的目的是什么,解決了什么問題,還有什么問題沒有解決,或需要改進(jìn)。
2、設(shè)計(jì)描述
分享你的思想,這很重要,一個成熟的開發(fā)人員看開碼的時候很多時候不是看你實(shí)現(xiàn)如何如何,而是看你的設(shè)計(jì)。
3、API描述
使用者快速上手。接口是代碼的眼睛。命名要嚴(yán)謹(jǐn),不能說也可這樣,也可那樣。經(jīng)驗(yàn)告訴我們,接口做得不好,歷史原因就會多。
4、demo/snippets
給使用的人copy/paste沒什么不好。
5、使用指南
例如庫的使用指南等手冊。或者說一個簡單的上手教程
文檔該由誰來寫?
從理論上看,文檔都應(yīng)該由編碼者來寫,其實(shí)不然。一個軟件的周期,可以分為:開發(fā)前,開發(fā)時,使用時,測試時,維護(hù)時。
那么各時間段上應(yīng)該有不同的人來參與??s小些范圍來看的話,應(yīng)該將:
1、開發(fā)前收集需求由大家參與。實(shí)現(xiàn)者收集后存檔到文檔里。此為開發(fā)目的與預(yù)期。
2、開發(fā)時的API描述,設(shè)計(jì)描述主要由編碼者來實(shí)現(xiàn)。
3、開發(fā)后/維護(hù)時的demo及snippets可以由使用者來完善。
設(shè)計(jì)文檔是否能自動化生成
代碼注釋(現(xiàn)在一般都用java doc)可以生成接口文檔。
以往都必須自己畫設(shè)計(jì)圖,配上描述。那么理論上這塊也應(yīng)該可以通過注釋加入設(shè)計(jì)的描述,通過文檔生成的工具自動生成設(shè)計(jì)圖。這樣應(yīng)該方便多了。
原文鏈接:http://www.never-online.net/blog/article.asp?id=294
【編輯推薦】