代码重构与优化

http://www.jianshu.com/p/d6ff54d72afb

//==================重新组织数据 - 1
@property (nonatomic,assign)NSInteger length;
@property (nonatomic,assign)NSInteger width;

@end

@implementation ViewController

-#define Scroll_Width self.view.bounds.size.width
-#define Scroll_Height self.view.bounds.size.height
- (void)viewDidLoad {
[super viewDidLoad];

//==================重构函数

//1.重复代码

//2.内联临时变量
//如果只有一次,坚决不创建临时变量
NSString *str = @"ddd";
NSLog(@"%@",str);
//改
NSLog(@"ddd");
//3.尽量去掉临时变量

NSInteger are = Scroll_Height * Scroll_Width;
if (are > 1000) {
    //XXXXX
}
//改
if (self.are > 1000) {
    //XXXXX
}

//4.写解释性变量  代码逻辑负复杂时,可以考虑
CGRectMake(Scroll_Height - 260 - 50, Scroll_Width  - 300 - 50, Scroll_Height - 50 - 300, Scroll_Height - 50);
//改
NSInteger interval = 50;
NSInteger X = Scroll_Height - 260 -interval;
NSInteger Y = Scroll_Width - 300 -interval;
NSInteger W = Scroll_Height - 300 -interval;
NSInteger H = Scroll_Height -interval;
CGRectMake(X, Y, W, H);

//5.移除对参数的赋值
[self creatInteger:5 integer:3];



//==================重构类
//1.搬移方法
//把方法放在最适合的地方

//2.移字段
//每个字段、变量应该放到自己的类中,不能随便放,不属于这个类的字段移走

//3.提炼一个新类
//将原类的一些属性和方法可否有共同点,能否做出一个新类。降低代码耦合
//如一个person类,有number、totalCosts(话费)、name属性,可新建一个TelephoneNumber类,number、totalCosts属性放入里面。

//4.内容移动
//子类都有相同的属性或方法,可将这属性、方法移到父类,若只是一部分,可创建一个子类,写入属性、方法。需要的类的基础此类。

//5.提炼接口
//把某些特殊功能的方法写入接口中,方便其它类调用。



//==================重新组织数据

//1.封装字段
//写属性的get方法,方便子类改变字段结果,提高扩展性

[self interg];

//2.对象替代数值
//比如:原来某类只需要名字属性,后来又需要性别、年龄,可以新增person类。

//常量代替数值
//方便理解

//3. if else
//复杂时,分解。简单,可以合并。

//4考虑用多态解决switch语句
//

//5.传参数时,最好将参数变成对象,数据多时,很方便。

}

-(NSInteger)interg{

//原
//return _length * _width;
//改
return [self getlength] * [self getwidth];

}

-(NSInteger)getlength{

return _length;

}

-(NSInteger)getwidth{

return _width;

}

-(void) creatInteger:(NSInteger) X integer:(NSInteger)Y{

//5- 原方法
if (X > 5) {
    X = Y;
}

//5 - 改
NSInteger newX = X;
if (newX > 5) {
    newX = Y;
}

}

-(NSInteger)are{

return Scroll_Width * Scroll_Height;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值