感觉油然而生,于是就用“友好”来评价易用性。
4、可复用性与可扩充性
复用的一种方式是原封不动地使用现成的软构件,另一种方式是对现成的软构件进行必要的扩充后再使用。可复用性好的程序一般也具有良好的可扩充性。本书第六章将论述如何设计可复用、可扩充的C++程序。
5、可理解性与简洁性
可理解性表达了人们一种质朴的愿望:我化钱买了它,总得让我明白它是什么东西。我小时候的一个伙伴在读中学时,就因无法理解电荷之分正负,觉得很烦恼,便早早地缀学当工人。
可理解性也是对用户而言的。开发人员只有在自己思路清晰时才可能写出让别人能理解的程序。编程时还要注意不可滥用技巧,应该用自然的方式编程。我们的确不知道自己的得意之举究竟是锦上添花,还是画蛇添足。就象蒸出一笼馒头,在上面插一朵鲜花,本想弄点诗情画意,却让人误以为那是一堆热气腾腾的牛粪。
简洁是一种美,不管是自己还是用户都会有同感。在生活中,与简洁对立的是“罗里罗嗦”。中国小说中最“婆婆妈妈”的男人是唐僧。有一项民意调查:如果世上只有唐僧、孙悟空、猪八戒和沙僧这四类男人,你要嫁给哪一类?请列出优先级。调查结果表明,现代女性毫不例外地把唐僧摆在老末。一个原始的应用问题可能很复杂,但高水平的人就能够把软件系统设计得很简洁。如果软件系统臃肿不堪,它迟早会出问题。简洁是人们对工作“精益求精”的结果。
废话大师有句名言:“如果我令你过于轻松地明白了,那你一定是误解了我说的话。”我最近有一种奇怪的体会:如果把学术文章写得很简洁,让人很容易理解,它往往中不了;只有加上一些玄乎的东西,把本来简单的弄成复杂的,才会增加投稿的命中率。事实上,我可以在5分钟之内说清楚三年来读博所做的工作,根本用不着写100多页的博士论文。我是在临近毕业时,才发觉自己完全不适合读博士学位。将来工作后,我一定要好好编程,重新做人。
研发项目经理工作经验分享