这次项目因为好几个人合作,然后每个人的模块直接联系比较多,所以暴漏出来的问题也比较多,我想在此记录下。
其实都很简单微小但是也很重要,首先看第一个:
1:关于返回值的判断问题
A调用B提供给他的接口 XXXServcie 的XXXDoSomething方法,返回值是一个List,一般情况下这个list都不为空,但是在某些情况下他为空,这时B返回给他的是个null的list(并不是B想直接return null 而是B可能调用的另外的service直接返回的就是null B做了一个转发的功能而已)A每次调用不管是一般情况还是特殊情况都没有对B的返回list做null检查,然后在特殊情况下出现了不想到看到的NullPointException ,试问出现这个异常你觉得好受吗 我是不舒服的,好比让你拿着武器去打仗,武器没给你,你就扣动了你认为的存在扳机,那肯定你挂的很惨。先不说到底是谁的问题,也许你会说A应该判断的,其实我也觉得是A的问题,但是其实更深的层次考虑是合作双方直接的契约没定好,你不能返回一个null 就算没值你也得给我一个空的list也好,其实换作返回一个Object也一样,到底是null还是一个空的Object,这个都是要先约定好,因为每个人的编程风格不一样,我更倾向于给我一个null,我自己调用的时候判断下。看过一篇文章有讲过这个例子的,例子说 2个人合作接口编写,一个人给另一个人说他的接口绝对不返回null的 会给个空的,但是一次他返回了一个null,那另一个人没加判断null的操作,因为他知道约定了他不返回null的,然后挂的很惨,文章的作者这么评价的:“不要太坚信接口的另一方给你的一个约定,保险的方式还是要自己判断下约定的成立条件”。是的即使是约定我们也要判断下,简单的一个null的判断至少不会让你看到NullPointException的尴尬。不过这个又引入了新的问题,现在的层次调用模型里你加入了太多的判断会显得杂乱,但是为了健壮性而打乱美观我想也是必须的,因为你不知道谁会调你的接口然后给你个null 直接让你挂在那个接口上。
针对list的判断 我现在的做法比较啰嗦 首先判断 是否为null 然后判断size是否大于0 然后是每个元素是否为null 。其实在一般的应用中元素为null 也没什么,但是如果你的应用中这个元素不能为null的话 你一定要加判断,否则造成的损失真的很大。
2:对于对象的简单和重用问题
我习惯于一个接口完成单一的一个功能,当功能很类似的时候我可以抽取出公共的部分,但是我不想都写一个接口里,搞的他是万能的接口一样。的确很多相似的功能都用一个接口来实现,那可是相当的重用,但是我觉得至少这个接口的功能并不是很明晰的表现出来。我喜欢小小的接口,能完美的表现出他的功能。有的时候是让业务清晰点好 还是让代码清晰点好呢,真的需要考量。
分享到:
相关推荐
"项目心得体会.rar"这个压缩包文件,显然包含了某个人或团队在完成一个项目后总结的心得体会,这通常是一份珍贵的文档,记录了他们在项目实施过程中的学习、挑战以及解决策略。下面,我们将深入探讨项目管理的一些...
在IT行业中,项目总结与项目心得体会是至关重要的环节,它们能帮助我们提炼经验,提升技能,为未来的项目提供宝贵借鉴。以下将详细讨论这些文件所涵盖的知识点。 首先,我们看到"Ext3.2中文API(最终完成版2010-12-...
"大创项目心得体会学习" 本文是关于大学生创新创业项目的心得体会分享,来自于项目负责人蒋维和罗道明的经验总结。通过项目的实施过程中,他们遇到了许多困难和挑战,但也收获了许多成就感和经验教训。他们分享了在...
【标题】:程序项目心得与经验分享 【描述】:本文汇总了多个程序项目的心得体会,强调了在IT行业中,技术知识固然重要,但处理问题的方法、心态和团队协作能力同样不可或缺。通过实训,作者体验到了从项目启动到...
【标题】:程序项目心得与经验分享 【描述】:本文汇总了多个程序项目的心得体会,强调了在IT行业中,技术知识固然重要,但处理问题的方法、心态和团队协作能力同样不可或缺。通过实例,讨论了项目经理的角色、会议...
【创新创业项目心得体会】 创新创业项目是大学生提升自我能力、锻炼实践技能的重要途径。在这个过程中,参与者不仅可以深入学习商业运作,还能培养团队协作精神和创新思维。以下是我从创新创业项目中提炼出的一些...
从给定的文件信息来看,本篇文档主要围绕“大学生创新创业训练项目心得体会”这一主题展开,涉及了项目从启动到结束整个周期内的所思所感。以下是对文档中提到的关键知识点进行的归纳与阐述。 ### 关键知识点 ####...
【大学生创新创业训练项目心得体会】 大学生创新创业训练项目是一个充满挑战与机遇的实践平台,旨在培养学生的创新思维、创业能力和团队协作精神。在这个过程中,参与者需要独立思考、积极探索,并且有效地管理团队...
【大学生创新项目心得体会】 在大学生创新项目中,学生们通过亲身参与和实践,不仅能深化对专业知识的理解,还能锻炼自身的创新思维、团队协作能力和实践操作技能。这些项目通常强调以下几个核心要点: 1. **自主...
【大学生创新创业训练项目心得体会】 大学生创新创业训练项目是一个旨在提升大学生创新能力和创业技能的实践活动。参与这个项目的学生通过实际操作,不仅能够深入理解创业过程,还能掌握相关知识和技能,为未来的...
【大学生创新创业训练项目心得体会】 大学生创新创业训练项目是一个旨在锻炼学生创新思维、提升实践能力的教育活动。通过参与这样的项目,学生们不仅有机会学习到创业的基本流程,还能深入理解市场动态、行业趋势和...
【大学生创新创业训练项目心得体会】 大学生创新创业训练项目是高校为培养学生的创新精神和实践能力而设立的一项重要活动。在这个过程中,学生们不仅有机会应用所学知识,还能通过实际操作提升自我解决问题的能力,...
### 大学生创新训练计划项目心得与网络性能优化研究 #### 一、项目背景与意义 随着信息技术的快速发展,互联网已成为现代社会不可或缺的一部分。然而,随着网络环境的日益复杂化及用户数量的急剧增加,网络性能...
参加审计项目心得体会[工作范文].pdf参加审计项目心得体会[工作范文].pdf参加审计项目心得体会[工作范文].pdf参加审计项目心得体会[工作范文].pdf参加审计项目心得体会[工作范文].pdf参加审计项目心得体会[工作范文]...
大学生创新项目心得体会参考.doc