為什麼程式員不願意寫文檔_文檔
來源:互聯網
上載者:User
一提到文檔,肯定會有人向你大談外國公司、大公司、正規公司是怎麼怎麼重視文檔的,什麼2/3時間用於寫文檔,1/3時間才用來編程式;寫文檔要按照什麼ISO、什麼CMM、什麼標準;不按這些標準寫出來的就不是文檔,就不是好文檔;不重視文檔就是不正規等。當問及他自己寫過什麼文檔,編寫過什麼文檔標準的時候,這種人就啞口無言了。
不管怎麼說,文檔絕對是程式員最大的軟肋。一些稱為高手的程式員往往可能是文檔方面的低能兒。不管這個程式員是在大公司、小公司,不管程式員是寫文檔的、還是不寫文檔的,大部分程式員在內心深處都是不願意寫文檔的。
程式員一般不願意寫文檔,但是程式員卻喜歡看別人的文檔。即使寫文檔,程式員一般不會把所有功能都寫入文檔,卻抱怨別人的文檔中有的功能沒有說明。即使願意寫某段文檔,程式員一般不會把文檔寫得很詳細,卻抱怨別人寫的文檔不夠詳細。文檔絕對是擺在程式員面前的一個矛盾,如果讓程式員選擇是喜歡寫文檔,還是喜歡看文檔,我估計大多數程式員都會選擇後者。
那麼程式員為什麼不願意寫文檔呢。其中的原因很多,我自己歸納了幾點:
1.怕煩
程式員從入門之日起,就在心裡埋藏了一顆編程的種子,認為程式員就是編程式的,就是和電腦打交道的,程式就是程式員的全部。無論是在編程之前寫文檔,還是在編程之後寫文檔。他們都認為寫文檔很煩人。
1)文檔種類太多。越正規越多。一想到要寫那麼多的文檔,程式員的頭都要大了。
2)文檔寫作要求不低。有格式要求、內容要求,還需要畫各種流程圖、示意圖、關係圖、介面圖和填寫各種表格說明,以及要收集各種資料。雖然沒有技術含量,但是要花的時間比編程式多,而且也不一定能寫好。
3)在正規的開發公司中一般一個變更就要編寫一系列的變更文檔。當不斷變更時,只有最後的變更文檔是最重要的。當我們不知道當前是不是最後一個文檔時,我們就不願意寫可能被後面的文檔替代的文檔。
4)當寫了文檔之後,就會不斷有使用文檔的人來詢問細節,這些詢問往往會讓人崩潰。這是因為很難寫出讓每個人都提不出問題的文檔。
2.沒空
在很多情況下,程式員都處於一種“時間緊、任務重”狀態。在急於得出編程結果的驅使下,程式員一心撲在編程上,恨不得一分鐘一個變化,哪有心思和時間先把文檔寫好再去編程呢。即使他們擁有先把程式編出來,然後再補寫文檔的想法,但是一旦他們完成一段程式之後,就會立即撲向第二段程式。如此下來,編寫文檔只能放在項目開發的後期了。你要是真的寫文檔,那寫文檔的時間早已將編程時間給擠佔了,你的編程工作就完不成了。
3.沒有用
文檔的重要性其實對不同對象是不一樣的。如果你說文檔沒有用,立即會有人用唾沫把你淹死,他們立即會搬出哪個哪個說文檔是重要的,文檔是不可缺的。唯獨不敢說“我自己認為文檔是重要的”。這也反過來說明文檔的有用性程度對不同人是不一樣的。對於程式員來說,只要能把程式編出來就行了。很多程式員不寫文檔照樣編出程式來,在他們的觀念中文檔不寫也罷。如果按文檔編程式,那就要確保文檔的正確性、不可更改性。而實際上,文檔不如編程快,編程不如變化快,不斷變化的需求和代碼讓文檔如同一張過時的廢紙一樣。
在現實中,有的文檔變成了項目開發後的總結,對開發本身並不起作用,只是保留一個存在的形式,以應付各種各樣規範的需要。在這種情況下,文檔沒有任何實用價值,所以即使程式員寫了,也沒有什麼作用。尤其是項目投產後,幾經升級,最初的文檔早已和現實的情況對不上號了,文檔更新和系統的一致性更是難於控制。
4.沒好處
既然認為編程式才是正道,那麼程式員寫文檔就是一種額外和輔助的工作,做了就做了,對於程式員來說沒有任何好處。
當然,文檔的好處更多地體現在軟體公司、單位、軟體使用者、後續程式員身上,它是一種“前人栽樹,後人乘涼”的好事。所以程式員不願意寫文檔。
文檔有多麼重要呢。有人把它上升到“程式員頭腦的拷貝”的高度,有的人甚至說,程式員走了後,只要有了文檔,軟體公司可以再招新人,公司照樣運轉起來。如此說來,天性聰明的程式員會把文檔寫得清清楚楚嗎。
5.不會寫
從寫作本身來看,寫好一篇文檔不是一件容易的事。文檔有文檔的格式和寫作要求。現在的人只喜歡動嘴說事,沒有多少人在平時會動筆寫字,更不用說寫文章了。所以,寫文檔從理論上來說也是需要學習和訓練的,需要在平時進行寫作積累。當要求一些程式員寫文檔的時候,他往往會回答你:“怎麼寫呀。我不會。”你不會寫可以不怪你,你不去學,反而理直氣壯地說不會,則是你的不對了。難道那些會寫文檔的人都是“獃子”嗎。難道他們不懂幹活辛苦的道理嗎。
當一個男子向一個自己喜歡的女子示愛,需要用情書來表白的時候,難道他不會寫情書嗎。即使他不會寫,他也一定會克服千難萬險把情書寫出來的,這是他的主觀使然。如果程式員主觀上想寫文檔,怎麼會怕煩。怎麼會怕沒空。怎麼會怕文檔沒有用。怎麼會怕不會寫。這些怕其實都是借口。真正優秀的程式員應該不單是編程的高手,同時也應該是寫文檔的高手。
程式員真正不喜歡寫文檔的原因是:文檔是給別人看的,不是給自己看的。如果要使程式員喜歡寫文檔,那就要提高程式員的意識和境界,或者要給寫文檔的程式員以獎勵。而靠制度、管理讓程式員去寫文檔只能是一種職業上的弊端。當有一天寫文檔也成為一個專業化的崗位,程式員和文檔人員分開時,程式員就會一心一意看文檔寫代碼,文檔員就會以此為職業,一心一意寫文檔拿工資。我們將不再為此進行討論。這種分工一定是未來的趨勢。一些大的公司或管理規範的公司都已經有這樣的分工了。只是很多中小軟體公司或企事業單位裡的IT部門還沒有專業化到如此程度。程式員不喜歡寫文檔也許說明他們不願意承擔太多的角色吧。
不管怎麼說,作為一個程式員(尤其想成為優秀程式員)一定要學會寫文檔,一定要學會欣賞文檔。無論你是否喜歡,你都應該可以在文檔的各種問題面前可進可退。可以這樣說,那些既不會寫文檔,又不會欣賞文檔的程式員是沒有資格說“我就不喜歡寫文檔”這種話的。