A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Jine 中级黑马   /  2014-4-1 19:49  /  1009 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Jine 于 2014-4-2 20:46 编辑

+ (int)averageWithNumber1:(int)number1 andNumber2:(int)number2
{
//    int sum = number1 + number2;
//    在类方法中可以调用类方法
    int sum = [Calculator sumWithNumber1:number1 andNumber2:number2];
//    如果要在类方法中调用对象方法必须创建对象, 一般开发中不建议这样使用
//    Calculator *c1 = [Calculator new];
//    int sum = [c1 sumWithNumber1:number1 andNumber2:number2];
    int avaerage = sum / 2;
    return avaerage;

我觉得把最后的   return avaerage;  换成   int sum = (number1 + number2)/ 2;   也可以返回average的值,而且还可以省去            int sum = [Calculator sumWithNumber1:number1 andNumber2:number2];         和         int avaerage = sum / 2;这两个步骤
我觉得可读性和可扩展性也可以, 那为什么我的同学和老师都建议用
int sum = [Calculator sumWithNumber1:number1 andNumber2:number2];
int avaerage = sum / 2;
    return avaerage;
这原来的步骤,说它扩展性更强!:L

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

3 个回复

倒序浏览
请你考虑这些情况:
当average...方法和sum...方法里面都设计到对num1 和 num2的一些约束,比如说num1 和 num2 是两个在0~100的数,我们在sum...中对这两个数进行过滤,然后在average... 调用sum... ,这样过滤不需要在average...中重复写。当代码很少的时候可能没太大影响,当代码多得时候就可以节省很多写重复代码的时间了。

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
我觉得把最后的   return avaerage;  换成   int sum = (number1 + number2)/ 2;   也可以返回average的值,而且还可以省去            int sum = [Calculator sumWithNumber1:number1 andNumber2:number2];         和         int avaerage = sum / 2;这两个步骤
我觉得可读性和可扩展性也可以, 那为什么我的同学和老师都建议用
int sum = [Calculator sumWithNumber1:number1 andNumber2:number2];
int avaerage = sum / 2;
    return avaerage;
这原来的步骤,说它扩展性更强!


在这个里边确实可以替代,但是要是遇到复杂的问题,用到 int sum = [Calculator sumWithNumber1:number1 andNumber2:number2];就可以避免代码重复写

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
我考虑不全面啊,谢谢!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马