???新年已過幾天,自己掐指一算,眨眼間工作快六載。時間過得真快,該靜下心來對自己進行總結總結,反省反省了。
???作為程序員中的一員,鄙人對新技術、新方法有著狂熱的激情,每天都希望自己多看一些資料和多編一些程序,有時自個頗以陶醉于比特世界而自鳴得意。但我們的生活畢竟不是單一的,我們畢竟要在團隊中生活,要在“死亡之旅”項目中掙扎前行,在這之中對我造成折磨的一件事,那就是寫文檔。
???寫文檔,誰都會寫,這句話沒錯。就像每個人都覺得自己可以當皇帝一樣,但不見得就可以做個明君。
???每當項目中需要什么文檔時,鄙人就三下五除二把它“拿下”了,自我感覺自己已經把該寫的東西都寫全了。但很多時候都是事與愿違,每當進行文檔評審或別人參看文檔時都會提很多意見,比如:
???1)文檔沒有體系結構
???2)前后不呼應
???3)沒有層次
???4)...
???最嚴重的評論是“不知所云”,我拷,我可是花了整整一天時間,
!@#$%^&。
???舉個例子,有次領導讓我寫篇調查文檔,針對xxx廠中的信息系統中存在的一些問題進行分析并提出改造方案。接到任務后,沒經過仔細思考,就開始埋頭寫起:
???第一段列出了目前存在的所有信息系統,
??????系統A
??????系統B
??????系統C
??????系統D
??????系統...
??????系統Z
???第二段列出了它們存在的問題,
??????問題a
??????問題b
??????問題c
??????問題...
??????問題z
???第三段進行了問題分析
???第四段給出了解決對策,
??????對策1
??????對策2
??????對策3
??????...
??????對策n
???在會上領導進行了委婉地批評,說文檔就像流水賬一樣,不成體系,沒有歸納,沒有總結。其中的系統、問題和解決對策就像一盤散沙,給讀者的閱讀帶來極大的困難。經過“批評指正”,我意識到一篇文檔要寫出結構、寫出思路、寫出層次,讀者才會看下去,不然就像我原來寫的文章那樣,文檔中一大堆信息,誰容易明白,可能時間長了自己也不明白。
???經過文檔“重構”,我對問題進行了歸納和總結,比如:
???
???第一段中的信息系統,我根據功能級別把它分類成管理決策層(L4),生產管理層(L3),過程控制(L2),電器儀表層(L1),又根據建設時間把它分成了已建系統(又分成未改造和正申請改造)和在建系統。通過把信息分析,進行歸納之后,信息的理解和消化將變得輕松。
???對問題我也是依葫蘆畫瓢,把問題歸納成系統問題、兼容性、擴展性、管理方便性進行了說明。對解決方案進行了從重要性、操作性和階段性進行了說明。
???經過“重構”,文檔得到了領導的認可。自己在文檔的編寫方法有了一次小飛躍。
???寫文檔不難,寫好文檔不易。就像我們程序員的程序一樣,一定要有好的體系結構,要善于利用設計模式以及慣用法等。對比于文檔,我個人覺得,
??????文檔??????????????????????????????????????????????????????代碼
???金字塔原理???????????????<——>??????????????體系結構
???歸類、排比句???????????<——>??????????????慣用法?
???許多程序設計中的思想都可以用于文檔編寫,比如:
???1)用例驅動,在文檔編寫中,我們可以關心文檔的用戶是誰,他們對這篇文檔都有什么期望,...。
?????
???2)以體系結構為中心,在文檔編寫中我們可以按照“金字塔原理”的思想為中心展開我們的編寫工作。
???3)迭代和增量為過程,在文檔編寫中,我們可以增量進行編寫工作,然后休息一下,把自己換成文檔用戶的角色通讀一下文檔,把不滿之處記于紙上,然后在把修改意見放入下一輪迭代編寫中。
???最后,以領導常說的一句話共勉,“凡事要用心”。不過我個人要再添一句,“到時需動腦”,:-)
???
(注:《金字塔原理》是一本關于寫作的書,非常不錯,值得擁有)