以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Java/Eclipse 』  (http://bbs.xml.org.cn/list.asp?boardid=41)
----  [转帖]Java开发中的心理学  (http://bbs.xml.org.cn/dispbbs.asp?boardid=41&rootid=&id=46914)


--  作者:hongjunli
--  发布时间:5/15/2007 11:08:00 AM

--  [转帖]Java开发中的心理学
http://blog.csdn.net/solomonxu/archive/2007/04/27/1586837.aspx

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

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


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms