本文寫的是什麼?
平時總是要寫文件。不寫,程式碼無法維護,所以不得不寫。但寫文件費時費力,更可怕的是寫完了讀起來還很費勁,束之高閣,總覺得時間浪費掉了,真是苦不堪言。 一直深受「寫文件」的折磨,偶然看到一篇神文,接著在網路上又查了自動化工具和DSL的理論,這才茅塞頓開!雖然大部分都沒看懂,但要做到輕鬆寫出好文檔,足矣! 現在就來談談我是怎麼做到的吧! 要做什麼?我們的最終目的,是寫出好文件。所以,首先我們要確定:什麼是好文檔。 好文件就如下圖: 上面的文件好在哪裡? 所以,我所希望的事,就是在完成程式碼後,可以費很少的力氣,就產生一個像上文中所說的可調試文檔。 我們接下來要做兩件事: 現在要開始做了,總覺得有些無從下手,那就先從最具體的事情——目前唯一能看得見的可調試API開始分析吧。 我們最後要做出的可調試API是什麼樣的呢? 參考之前的效果圖,簡化一些來說,就是下面這個樣子: 純文字顯示類別名,方法,功能解釋,輸入參數; 在這個介面中,有哪些是變數呢? 類別名稱 列表項目 方法名 功能說明 參數數量 參數名 執行結果 其中:一個API對應一個類別名,一個方法名,一個功能說明,多個參數名,執行結果是執行後產生的。 模型分析根據上述結果,我就可以將這個API抽像出一個模型類別了: 一個API包含屬性:類別名,類別檔案所在路徑,方法名,功能說明以及該方法所需輸入的參數。 而一個參數又包含屬性:參數名稱及參數說明。 事件流接下來分析一下整個事務流程。 一句話流程: 現在我們要解釋清楚,於是把它拓展開來,變成一段話: 整個系統共有三類頁面: 類別清單頁:將類別及其方法列出來,點擊後跳到API頁。 API頁:列出方法說明,可以輸入參數並執行方法,可查看其執行結果。 三類頁面中,第二類類清單頁沒有什麼功能,只牽涉到頁面跳轉,所以只用html實作就行了。 MVC結構 MVC呼叫流程 MVC結構 MVC呼叫流程 我實現的版本是CohenBible。 類似的工具很多,prmd,swagger editor, apidocjs,都很好用。 我為什麼會想到重複造輪子呢? |