首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编码最佳实践所需的建议

编码最佳实践所需的建议
EN

Stack Overflow用户
提问于 2011-03-18 18:23:30
回答 6查看 310关注 0票数 1

我想知道下面的编码实践是好是坏。

我将一个值对象作为参数传递给一个方法,被调用的方法返回相同的参数值对象。我特别认为,因为引用的是同一个对象,所以我们不需要把它作为返回类型。

代码语言:javascript
复制
Class A
{
  initStudent()
  {
    Student studentObj = new Student();
    //do some processing

    studentObj = processStudent(studentObj);
  }

  processStudent(Student pObj)
  {
    //do something

    return pObj;
  }
}
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-03-18 18:29:28

我认为,如果方法修改了对象,那么返回它是一种很好的做法。因此,该方法的签名清楚地表明该对象已被修改,并且您没有隐含的副作用。

如果该方法不打算修改对象,则不应返回它。

票数 1
EN

Stack Overflow用户

发布于 2011-03-18 18:30:15

有时需要获取参数并返回相同类型的参数,即使出于某些原因对参数进行了操作:

  1. 如果对象是不可变的(即字符串)
  2. 如果对象实际上可以改变(一个很好的例子是<T>[] List.toArray(<T>[]),如果参数数组中没有足够的空间,则创建一个新的参数数组,否则将数组写在参数上)
  3. 它还隐式地告诉用户值可能会更改...如果需要,
  4. 不要害怕,很多项目都在使用它(例如Apache Lucene)
票数 3
EN

Stack Overflow用户

发布于 2011-03-18 18:28:08

是的不应该退货。正确使用访问修饰符和返回类型。

代码语言:javascript
复制
public class A
{

  public Student initStudent()
  {
     Student studentObj = new Student();
     //do some processing

     processStudent(studentObj);

     return studentObj;
  }

  private processStudent(Student pObj)
  {
       //do something
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5350622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档