写代码的是否是否中间变量写的越多越好比如一个点:
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()方法中使用,而且还是返回值
慕姐8265434
TA贡献1813条经验 获得超2个赞
如果中间变量使用特别频繁,则可以考虑使用以获得更好的效率,如果使用频度很低,则可以考虑为方法临时计算获得。
此外,对于可以一次性获得多个中间变量,这时采用中间变量比多次方法更有利(即使使用频率稍微少也是值得的)。
qq_遁去的一_1
TA贡献1725条经验 获得超7个赞
不鼓励这种做法,这种做法导致同一个数据状态存在多个副本,这会引入额外的维护成本,并且容易导致状态不一致问题,引起很多麻烦。
一开始写代码,并不需要刻意做这样的优化。
提前做这种牺牲代码可维护性、增加复杂度的优化,坏处大于好处。
因为它一定会带来一些坏处,但并不确定是否真的带来一些好处。
你觉得它会提升性能,这只是理论上,实际运行起来到底提升多少,有多少收益。
和编译优化、业务流程、硬件平台都有很大的关系。
后续如果是真的需要优化代码,可以通过性能分析工具找出瓶颈点,有针对性的优化。
并且优化方式也不一定是增加几个“中间变量”这种方式。
添加回答
举报
0/150
提交
取消