是否可以创建一个变量作为多次访问同一对象的快捷方式属性?
Is it ok to create a variable as a shortcut for multiple accesses of same object property?
假设我在 android 项目中有这段代码:
center.x = (int) (binding.trainingActivityFixationPoint.getX() +
binding.trainingActivityFixationPoint.getWidth() / 2);
center.y = (int) (binding.trainingActivityFixationPoint.getY() +
binding.trainingActivityFixationPoint.getHeight() / 2);
从技术上讲,重复访问 trainingActivityFixationPoint 应该是一个常量操作,因为它已经缓存在 android 绑定对象中,所以我认为这并不能保证自己创建一个变量,但是上述访问的长度看起来很混乱大部头书。在这种情况下引入一个新变量并让代码看起来像这样更好吗?:
ImageView fixation = binding.trainingActivityFixationPoint;
center.x = (int) (fixation.getX() + fixation.getWidth() / 2);
center.y = (int) (fixation.getY() + fixation.getHeight() / 2);
我发现自己经常用 android 这样做,但我不确定这是否是一个好习惯。
这没有任何问题 - 它只是对现有对象的引用。但请记住,如果此引用没有超出范围,则绑定引用的整个对象将不会被垃圾回收。
例如,如果您在方法内部使用固定,则它是有范围的,根本不是问题。像这样的引用非常少,只要您不创建数千个,就不会对您的应用程序产生可衡量的影响。
假设我在 android 项目中有这段代码:
center.x = (int) (binding.trainingActivityFixationPoint.getX() +
binding.trainingActivityFixationPoint.getWidth() / 2);
center.y = (int) (binding.trainingActivityFixationPoint.getY() +
binding.trainingActivityFixationPoint.getHeight() / 2);
从技术上讲,重复访问 trainingActivityFixationPoint 应该是一个常量操作,因为它已经缓存在 android 绑定对象中,所以我认为这并不能保证自己创建一个变量,但是上述访问的长度看起来很混乱大部头书。在这种情况下引入一个新变量并让代码看起来像这样更好吗?:
ImageView fixation = binding.trainingActivityFixationPoint;
center.x = (int) (fixation.getX() + fixation.getWidth() / 2);
center.y = (int) (fixation.getY() + fixation.getHeight() / 2);
我发现自己经常用 android 这样做,但我不确定这是否是一个好习惯。
这没有任何问题 - 它只是对现有对象的引用。但请记住,如果此引用没有超出范围,则绑定引用的整个对象将不会被垃圾回收。
例如,如果您在方法内部使用固定,则它是有范围的,根本不是问题。像这样的引用非常少,只要您不创建数千个,就不会对您的应用程序产生可衡量的影响。