java开发中的心理学

高级程序设计语言自问世以来,林林总总加在一起不下一百种,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()等等,慎用缩写,没有把握最好不用。

人的注意力是有限的,项目工期是限定的。从某种意义上看,项目人月也就是注意力与项目工期的乘积。对项目管理者来说,调动开发员的注意力到较高的效率和应用水平,就能缩短项目周期,老板会有奖励的。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值