重构代码设计

代码坏味道:

重构方法:

1.移除对参数的赋值

目的:参数只是函数入参获得的值,不要拿参数去做后面的逻辑处理,应该用一个局部临时变量,把参数值赋值给它,提高代码的可读性,也便于调试时 入参值不变。

2.多处地方引用 同一个引用,不要对引用的值 进行 写操作

经常会出现的一个问题需要注意:java中 对于 引用的出现 要时刻注意,要注意这个引用,在几处被重新引用了(入参了,或者赋值给其他变量了),如果这个引用,后面有多处变量指向了它,那么请不要对其进行 ‘写’操作,如果要写,请重新创建一个引用,把这个引用里面属性的值重新赋值给新的引用,因为我们需要这个引用,往往是需要这个引用的属性值,而不是这个引用本身,一处写,多处的值 会 随之也改变,很可怕的,也是经常 不注意的,就是 对一个引用,赋值给多个 变量,然后因为业务需要 对其重新写。

3.重复代码 要么消除,要么提取出来成为一个新函数

4.if else 尽量 使用 三元表达式,if else 里面如果 逻辑相同,只是细节不同,那么要消除重复代码的,把细节不同的判断,提出来 单独判断,相同的逻辑只写一遍

		根据选择的片数 还是 面积 封装字段:(重构后)
			string method = rb_count.IsChecked == true ? "片数" : "面积(m2)";
			chart1.Series[0].YValueMembers = $"上片{method}";
			chart1.Series[1].YValueMembers = $"上片成功{method}";
			chart1.Series[2].YValueMembers = $"入库{method}";
			chart1.Series[3].YValueMembers = $"出库{method}";
			chart1.Series[4].YValueMembers = $"破片{method}";

5.对变量的定义位置的确定,
1.根据自己的判断,如果这个变量 是 全局的,就定义在全局,如果是代码块特有的定义在代码块
2.如果,你发现,代码块中的 变量可以 提升到 全局,就提升,但是前提是 如果你提升了,即这个变量有小全局的用途(可以用在下层的多处),那么要保证 这个变量不是引用类型,如果是,那不能被其他地方引用,可以当做参数。
3.总之就是 变量尽可能的 往上提升,但是提升的前提是 1.能提升 2.提升后 变量不会被其他地方引用,不然会出现 这个变量修改后,多处引用都会修改的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值