hzlai 在2007/4/28 9:49:57发布说
高级程序设计语言自问世以来,林林总总加在一起不下一百种,java能在其中一支独秀,独领风骚,除了"write once, run anywhere"的优势外,另一个值得关注的是它符合人类心理的需要。java语言是静态的物,没有程序员开发出应用程序,它是没有价值的。在软件开发过程中,程序设计语言做什么,语言做什么,作为人的程序员做什么,有明确的界面和分工,在工程领域这个界面叫人机工程学,在心理学领域被称作工程心理学,二者含义接近。
在java开发的最佳实践提倡用完整的单词来表示标识符,即使看起来很长,例如资源管理者表示为resourcemanager。别人一看就能明白含义,界面是不是更友好呢。
写java语言的人可能都用过c或c++来开发,用c++可能都会了解到匈牙利命名规则,它用前缀表示数据类型,例如,a表示array,c表示char,等等。类型前缀还可以组合起来用。前缀的使用也推动标识符缩写的应用,象pdlg用来命名一个对话框指针。缩写规则进一步推广到应用软件开发领域,就是另外一番情景了:我看到过disctmgr表示折扣管理,还有用rsmgr表示资源管理。应用软件与行业、领域紧密相关,不是所有开发员都很熟悉,不好的缩写,让人去猜测缩写的含义,转移人的注意力,挤占了思考代码逻辑的精力。
心理学研究表明,人的注意力是有限的,人脑同时考虑3个事物是最佳状态,注意4~5个状态会下降,注意7个以上事物是相当困难的。有限的注意力可以理解作资源,在同一时间点,注意力应该得到合理的分配。小时候,老师经常会提醒同学们上课不要开小差,小同学的注意力转移到玩小动作,看窗外的风景,当然不会听老师在讲什么内容了。我小时候是个听话的好孩子,不会开小差,大了反而常开小差。
回到正题,在java开发中的心理学原理体现在哪里呢?开发软件是一项很复杂的劳动,要设计类、方法,写代码逻辑,写完了要编译、调试,还要理解业务需求。开发本身就很难了,在设计类时,就要努力到达低耦合、高内聚。低耦合,紧密关联的类少了,就不会浪费注意力到别的类上;高内聚,可以把注意力集中在一个类的内部。记忆力越集中,越能产生高质量的成果,为什么优秀的程序员形销骨立的多呢?因为工作太投入,注意力太集中,没有考虑保养身体,过有质量的生活。
用完整的单词,其心理学意义何在呢?整词的含义一看就明白,分配较低的注意力水平就能搞定,可以把更多注意力分配到程序结构,分支、循环之类的,这样不是可以做更多有意义的工作吗?
相对c/c++、php等语言来说,java写的代码更容易理解,虽然有时看起来代码很长,例如java bean的getter/setter方法,但是它容易理解,有开发工具的支持,程序员还是喜欢用。所以要大力提倡使用整词,象resourcemanager,getresource()等等,慎用缩写,没有把握最好不用。
人的注意力是有限的,项目工期是限定的。从某种意义上看,项目人月也就是注意力与项目工期的乘积。对项目管理者来说,调动开发员的注意力到较高的效率和应用水平,就能缩短项目周期,老板会有奖励的。
网站链接:http://blog.csdn.net/solomonxu/archive/2007/04/27/
分类:应用 | Tags:应用 心理新闻 理论观点 心理应用
|