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