感覺油然而生,于是就用“友好”來評價易用性。
4、可復用性與可擴充性
復用的一種方式是原封不動地使用現成的軟構件,另一種方式是對現成的軟構件進行必要的擴充后再使用。可復用性好的程序一般也具有良好的可擴充性。本書第六章將論述如何設計可復用、可擴充的C++程序。
5、可理解性與簡潔性
可理解性表達了人們一種質樸的愿望:我化錢買了它,總得讓我明白它是什么東西。我小時候的一個伙伴在讀中學時,就因無法理解電荷之分正負,覺得很煩惱,便早早地綴學當工人。
可理解性也是對用戶而言的。開發(fā)人員只有在自己思路清晰時才可能寫出讓別人能理解的程序。編程時還要注意不可濫用技巧,應該用自然的方式編程。我們的確不知道自己的得意之舉究竟是錦上添花,還是畫蛇添足。就象蒸出一籠饅頭,在上面插一朵鮮花,本想弄點詩情畫意,卻讓人誤以為那是一堆熱氣騰騰的牛糞。
簡潔是一種美,不管是自己還是用戶都會有同感。在生活中,與簡潔對立的是“羅里羅嗦”。中國小說中最“婆婆媽媽”的男人是唐僧。有一項民意調查:如果世上只有唐僧、孫悟空、豬八戒和沙僧這四類男人,你要嫁給哪一類?請列出優(yōu)先級。調查結果表明,現代女性毫不例外地把唐僧擺在老末。一個原始的應用問題可能很復雜,但高水平的人就能夠把軟件系統(tǒng)設計得很簡潔。如果軟件系統(tǒng)臃腫不堪,它遲早會出問題。簡潔是人們對工作“精益求精”的結果。
廢話大師有句名言:“如果我令你過于輕松地明白了,那你一定是誤解了我說的話?!蔽易罱幸环N奇怪的體會:如果把學術文章寫得很簡潔,讓人很容易理解,它往往中不了;只有加上一些玄乎的東西,把本來簡單的弄成復雜的,才會增加投稿的命中率。事實上,我可以在5分鐘之內說清楚三年來讀博所做的工作,根本用不著寫100多頁的博士論文。我是在臨近畢業(yè)時,才發(fā)覺自己完全不適合讀博士學位。將來工作后,我一定要好好編程,重新做人。
研發(fā)項目經理工作經驗分享