为了账号安全,请及时绑定邮箱和手机立即绑定

对于中间变量是否越详细越好

对于中间变量是否越详细越好

米琪卡哇伊 2019-01-18 21:52:46
写代码的是否是否中间变量写的越多越好比如一个点: public class Point{ int x; // x坐标 int y; // y坐标 int isExist; // 这个点是否有效,对x,y做判空可得 int quadrant; // 所在象限, 对x,y 计算可能 巴拉巴拉就 } 对于isExist ,quadrant这样的计算所得中间变量,是否有必要创建 ,还是说,对于这样一个实例,描述的越详细越好
查看完整描述

4 回答

?
森栏

TA贡献1810条经验 获得超5个赞

要考虑到一个状态的本质,
像isExist明显是依赖于x和y的,适合写成public方法,这样通过p.isExist()获取状态,在坐标修改后也会获得正确的状态,
这时候就不建议再有一个代表isExist的变量,因为这个变量只在isExist()方法中使用,而且还是返回值

查看完整回答
反对 回复 2019-02-12
?
梦里花落0921

TA贡献1772条经验 获得超6个赞

如果使用频繁,就可以创建中间变量,就是用空间换时间嘛

查看完整回答
反对 回复 2019-02-12
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

如果中间变量使用特别频繁,则可以考虑使用以获得更好的效率,如果使用频度很低,则可以考虑为方法临时计算获得。
此外,对于可以一次性获得多个中间变量,这时采用中间变量比多次方法更有利(即使使用频率稍微少也是值得的)。

查看完整回答
反对 回复 2019-02-12
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

不鼓励这种做法,这种做法导致同一个数据状态存在多个副本,这会引入额外的维护成本,并且容易导致状态不一致问题,引起很多麻烦。

一开始写代码,并不需要刻意做这样的优化。
提前做这种牺牲代码可维护性、增加复杂度的优化,坏处大于好处。
因为它一定会带来一些坏处,但并不确定是否真的带来一些好处。

你觉得它会提升性能,这只是理论上,实际运行起来到底提升多少,有多少收益。
和编译优化、业务流程、硬件平台都有很大的关系。

后续如果是真的需要优化代码,可以通过性能分析工具找出瓶颈点,有针对性的优化。
并且优化方式也不一定是增加几个“中间变量”这种方式。

查看完整回答
反对 回复 2019-02-12
  • 4 回答
  • 0 关注
  • 535 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信