大话设计模式(二 代码规范、重构)

(续上篇) 
        大鸟说:“且先不说出题人的意思,单就你现在的代码,就有很多不足的地方需要改进。比如变量命名,你的命名就是ABCD,变量不带有任何具体含义,这是非常不规范的;判断分支,你这样的写法,意味着每个条件都要做判断,等于计算机做了三次无用功;数据输入有效性判断等,如果用户输入的是字符符号而不是数字怎么办?如果除数时,客户输入了0怎么办?这些都是可以改进的地方。”
  “哦,说得没错,这个我以前听老师说过,可是从来没有在意过,我马上改,改完再给你看看。”

class Program
{static void Main(string[] args){try{Console.Write("请输入数字A:");string strNumberA = Console.ReadLine();Console.Write("请选择运算符号(+、-、*、/):");string strOperate = Console.ReadLine();Console.Write("请输入数字B:");string strNumberB = Console.ReadLine();string strResult = "";switch (strOperate){case "+":strResult = Convert.ToString(Convert.ToDouble(strNumberA) + Convert.ToDouble(strNumberB));break;case "-":strResult = Convert.ToString(Convert.ToDouble(strNumberA) - Convert.ToDouble(strNumberB));break;case "*":strResult = Convert.ToString(Convert.ToDouble(strNumberA) * Convert.ToDouble(strNumberB));break;case "/":if (strNumberB != "0")strResult = Convert.ToString(Convert.ToDouble(strNumberA) / Convert.ToDouble(strNumberB));elsestrResult = "除数不能为0";break;}Console.WriteLine("结果是:" + strResult);Console.ReadLine();}catch (Exception ex){Console.WriteLine("您的输入有错:" + ex.Message);}}
}

大鸟:“吼吼,不错,不错,改得很快吗?至在目前代码来说,实现计算器是没有问题了,但这样写出的代码是否合出题人的意思呢?”
        小菜:“你的意思是面向对象?”
        大鸟:“哈,小菜非小菜也!”

(待续)

出处:http://www.cnblogs.com/cj723/archive/2006/08/30/490094.html

大话设计模式(二 代码规范、重构)相关推荐

  1. 大话设计模式(二)代理模式

    大话设计模式(二)代理模式 前言 代理模式(Proxy Pattern)是GoF 23种Java常用设计模式之一.代理模式的定义:Provide a surrogate or placeholder ...

  2. 代码规范+设计模式落地之路

    欢迎关注方志朋的博客,回复"666"获面试宝典 | 前言 刚刚与同事开了一个分享会,笔者分享了一些了代码设计模式相关的内容. 以及复盘了一下项目中有些复杂的业务场景,为什么没有很好 ...

  3. 代码规范 设计模式落地之路

    - 1 - 前言 与同事开了一个分享会,笔者分享了一些了代码设计模式相关的内容. 以及复盘了一下项目中有些复杂的业务场景,为什么没有很好的应用到设计模式. 业务虽然肯定保密的,但是抛开项目,业务层面, ...

  4. wordvba编程代码大全_面向对象、设计原则、设计模式、编程规范、重构

    面向对象.设计原则.设计模式.编程规范.重构 面向对象 主流的三个编程风格有:面向对象,面向过程,函数式编程. 面向对象是最主流的风格,面向对象具有丰富的特性(封装,抽象,继承,多态). 面向对象 面 ...

  5. 【Python】《大话设计模式》Python版代码实现

    <大话设计模式>Python版代码实现 上一周把<大话设计模式>看完了,对面向对象技术有了新的理解,对于一个在C下写代码比较多.偶尔会用到一些脚本语言写脚本的人来说,很是开阔眼 ...

  6. 代码重构(二):类重构规则

    在上篇博客<代码重构(一):函数重构规则(Swift版)>中,详细的介绍了函数的重构规则,其中主要包括:Extract Method, Inline Method, Inline Temp ...

  7. 《大话设计模式》Python版代码实现

    <大话设计模式>Python版代码实现 上一周把<大话设计模式>看完了,对面向对象技术有了新的理解,对于一个在C下写代码比较多.偶尔会用到一些脚本语言写脚本的人来说,很是开阔眼 ...

  8. lt;二gt;读lt;lt;大话设计模式gt;gt;之策略模式

    又和大家见面了.可以坚持写出第二篇文章真不错,好好加油. <<大话设计模式>>解说策略模式是以商场收银软件程序开头的,那么问题来了.哪家商场收银软件强,开玩笑了. 读过上篇文章 ...

  9. 大话设计模式(一 面试受挫——代码无错就是好?)

    大话设计模式(一 面试受挫--代码无错就是好?) 小菜今年计算机专业大四了,学了不少软件开发方面的东西,也学着编了些小程序,踌躇满志,一心要找一个好单位.当投递了无数份简历后,终于收到了一个单位的面试 ...

最新文章

  1. python快速编程入门课后简答题答案-编程python入门 编程python入门课后习题
  2. 成功解决解决VM软件安装Linux的Ubuntu过程,开启Linux出现Oprating System not found错误
  3. 图解如何制作苹果OS X系统ISO光盘
  4. 计算机可视化仿真技术opengl,基于OpenGL的三维场景可视化仿真
  5. 如何关闭mac的SIP
  6. DESC查看表的结构
  7. 快速创建精彩的Flash游戏之一:Flash游戏引擎及框架介绍
  8. 【论文笔记】在CommonsenseQA 上追平人类: 通过External Attention 增强 Self-Attention
  9. SSH连接服务器Secure CRT技巧[Secure CRT连接ubuntu显示密钥交换失败][Ubuntu无法使用root用户登陆的解决办法]
  10. v-model是什么?怎么使用?
  11. Linux里面 update 和 upgrade 的区别
  12. 论文笔记《Combining Events and Frames Using Recurrent Asynchronous Multimodal Networks for Monocular ...》
  13. mysql数据库sa默认密码_SQL Server数据库sa密码相关问题的解决方法
  14. uni-app返回上一层页面后数据刷新重置解决办法,uni-app页面不刷新,强制刷新页面方法!
  15. 苹果大幅砍单?蓝思科技等供应商称未收到通知
  16. 参加2020全国大学生数学建模竞赛有感
  17. Android ------ Android X 的BottomNavigationView底部导航栏
  18. qtabbar设置不同宽度_前端之css(宽高)设置小技巧
  19. FTP 文件传输协议
  20. XenApp / XenDesktop 7.6 初体验九 Director

热门文章

  1. Java Review - 并发编程_并发List_CopyOnWriteArrayList源码剖析
  2. 实战SSM_O2O商铺_42【前端展示】店铺列表页面View层的实现
  3. 学习笔记Hive(二)—— Hive安装配置
  4. pythontcp服务器框架_tcp服务器简单框架-python客户端
  5. harmonyos2.0三大技术特点,一文解析HarmonyOS的技术特性、子系统架构、四大技术特性...
  6. 火电厂给水控制系统设计
  7. 用c语言编写图书成绩管理系统,学生成绩管理系统(c语言编写).doc
  8. 阻止浏览器自动填充input密码框
  9. cocosc++怎么打印_Lua调用C++时打印堆栈信息
  10. 在html中如何使用span,如何在HTML和CSS中使用DIV和span?