6. 寫文檔
在說這個條目之前我先承認,我們確實有很多的文檔生成工具,但據我的經驗,這些工具都是只適合生成API文檔,以供其他程序員參考。如果你開發 的軟件是平時人們每天都要用的,你必須要寫一些外行人(例如你的實施,客服等)都能理解的文檔手冊。
我們可以很容易的看出,有些事情程序員們極不愿意去做。 你可以簡單的回顧一下所有的開源項目。 人們百折不撓的對這些項目的一個索求是什么:文檔。
我敢打保票的說,不管在哪里,至少會有一半的程序員當要求寫文檔時會說:“不能讓其他人去寫嗎?“。
5. 程序 — 缺少文檔
我可從來沒說過我們程序員是說一套做一套的人。
程序員們經常會在他們的項目里用到第三方的類庫和應用。 于是,我們需要文檔。 很不幸呀,就像我在第6條里說的那樣,程序員們痛恨寫文檔。這戲劇性的事情發生在我們自己身上。
當你需要使用一個第三方類庫時發現,至少有一半的API無從知道是干什么好用的,沒有任何事情比這個更打擊人的了。 函數 poorlyNamedFunctionA() 和函數 poorlyButSimilarlyNamedFunctionB() 有什么區別? 在我使用 PropertyX 屬性前是否需要測試一下它是不是 null 值?我估計只有通過自己的測試和報錯才能弄清楚!可惡。
4. 硬件
任何一個曾經被叫去調試一個數據庫服務器上奇怪的宕機現象,或是被叫去解決RAID驅動器不能正確的工作的問題的程序員,當發現是硬件問題時, 都會痛苦不已。 人們有一種普遍的誤解,認為程序員就是搞電腦的,他們肯定知道如何修理電腦。 不可否認,有些程序員確實是個全才,但我估計,絕大部分程序員都不知道,或者根本不關心當程序被編譯成機器碼后如何工作的。我們只關心做出來的東西是否符 合需求文檔,這樣我們才能集中精力去解決這上層的任務。
3. 含糊不清
“網站宕機了”. “XX功能工作不正常”。 處理含糊不清的任務是種痛苦。 每次當非程序員被要求重現他們所遇到的問題時表現出的憤怒都讓我吃驚不已。 他們似乎不太明白,僅僅一句”它宕機了,修復它!”是無法讓我們開始工作的,我們需要更多的信息。
軟件的運行是(大部分情況下)有跡可尋的。我們也樂見與此。 請遷就我們,幫我們指出是在哪個階段,什么情況下出的問題,而不是簡單的說一句”修復它“。
2. 其他程序員
程序員經常和其他程序員合不來。詫異嗎,但這是真的。 這方面的事情我可以輕松的列出十大條,講細點甚至可以單獨寫篇博客,所以這里我只列出幾個常見的、讓其他同事感到懊惱的程序員的特征:
脾氣暴躁以至態度極不友好。
不能明白什么時候該去討論系統的架構,什么時候是應該去動手去做。
無法進行有效的溝通,使用易于誤解的專業術語。
自己的事情處理不好。
對要做的程序和項目缺乏興趣。
那么,這最后的,但不是最糟糕的,序號為1的讓程序員們煩惱的…
1. 自己寫的代碼 — 6個月以后的
Don’t sneeze, I think I see a bug.回顧一下自己以前寫的代碼,是否也會愁眉苦臉?當時怎么會這么愚蠢!怎么能編寫成這樣的東西! 燒掉!丟到火里!
哈,好消息。你并不孤單。
現實是,軟件技術界是一個不斷變化的世界。 今天被看成是最好的方式,明天也許就會過時。 我們不可能寫出完美的代碼,因為判斷我們的程序好壞的標準日新月異。 這令人很不爽,你的作品,今天看來是那么的完美,但也許不久之后就會變成被人嘲笑的對象了。 真是讓人沮喪,因為不論我們如何努力的學習最新最棒的開發工具,設計,框架,以及開發方法,我們總是比最新的技術發展趨勢慢了一拍。 對于我來說,這是做一個程序員最苦惱的事情了。我們不斷的升級技術,是為了讓軟件更好,但卻禁不住感到,我就像一個做沙毯(sand-painting)的和尚。
好了,全都給寫出來了。這十大讓程序員煩惱的事情。 依舊,如果你覺得我的文章里有什么疏漏的地方,請讓我知道,歡迎留下評論!
原文轉自:http://www.vaikan.com/top-10-things-that-annoy-programmers/