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

写代码的是否是否中间变量写的越多越好
比如一个点:

public class Point{
    int x; // x坐标
    int y; // y坐标
    
    int isExist;  // 这个点是否有效,对x,y做判空可得
    int quadrant; // 所在象限, 对x,y 计算可能
    
    巴拉巴拉就
}

对于isExist ,quadrant这样的计算所得中间变量,是否有必要创建 ,还是说,对于这样一个实例,描述的越详细越好

米琪卡哇伊
浏览 540回答 4
4回答

森栏

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

梦里花落0921

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

慕姐8265434

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

qq_遁去的一_1

不鼓励这种做法,这种做法导致同一个数据状态存在多个副本,这会引入额外的维护成本,并且容易导致状态不一致问题,引起很多麻烦。 一开始写代码,并不需要刻意做这样的优化。提前做这种牺牲代码可维护性、增加复杂度的优化,坏处大于好处。因为它一定会带来一些坏处,但并不确定是否真的带来一些好处。 你觉得它会提升性能,这只是理论上,实际运行起来到底提升多少,有多少收益。和编译优化、业务流程、硬件平台都有很大的关系。 后续如果是真的需要优化代码,可以通过性能分析工具找出瓶颈点,有针对性的优化。并且优化方式也不一定是增加几个“中间变量”这种方式。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java