大话设计模式(二 代码规范、重构)
大话设计模式(二 代码规范、重构)
(续上篇)
大鸟说:“且先不说出题人的意思,单就你现在的代码,就有很多不足的地方需要改进。比如变量命名,你的命名就是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
大话设计模式(二 代码规范、重构)相关推荐
- 大话设计模式(二)代理模式
大话设计模式(二)代理模式 前言 代理模式(Proxy Pattern)是GoF 23种Java常用设计模式之一.代理模式的定义:Provide a surrogate or placeholder ...
- 代码规范+设计模式落地之路
欢迎关注方志朋的博客,回复"666"获面试宝典 | 前言 刚刚与同事开了一个分享会,笔者分享了一些了代码设计模式相关的内容. 以及复盘了一下项目中有些复杂的业务场景,为什么没有很好 ...
- 代码规范 设计模式落地之路
- 1 - 前言 与同事开了一个分享会,笔者分享了一些了代码设计模式相关的内容. 以及复盘了一下项目中有些复杂的业务场景,为什么没有很好的应用到设计模式. 业务虽然肯定保密的,但是抛开项目,业务层面, ...
- wordvba编程代码大全_面向对象、设计原则、设计模式、编程规范、重构
面向对象.设计原则.设计模式.编程规范.重构 面向对象 主流的三个编程风格有:面向对象,面向过程,函数式编程. 面向对象是最主流的风格,面向对象具有丰富的特性(封装,抽象,继承,多态). 面向对象 面 ...
- 【Python】《大话设计模式》Python版代码实现
<大话设计模式>Python版代码实现 上一周把<大话设计模式>看完了,对面向对象技术有了新的理解,对于一个在C下写代码比较多.偶尔会用到一些脚本语言写脚本的人来说,很是开阔眼 ...
- 代码重构(二):类重构规则
在上篇博客<代码重构(一):函数重构规则(Swift版)>中,详细的介绍了函数的重构规则,其中主要包括:Extract Method, Inline Method, Inline Temp ...
- 《大话设计模式》Python版代码实现
<大话设计模式>Python版代码实现 上一周把<大话设计模式>看完了,对面向对象技术有了新的理解,对于一个在C下写代码比较多.偶尔会用到一些脚本语言写脚本的人来说,很是开阔眼 ...
- lt;二gt;读lt;lt;大话设计模式gt;gt;之策略模式
又和大家见面了.可以坚持写出第二篇文章真不错,好好加油. <<大话设计模式>>解说策略模式是以商场收银软件程序开头的,那么问题来了.哪家商场收银软件强,开玩笑了. 读过上篇文章 ...
- 大话设计模式(一 面试受挫——代码无错就是好?)
大话设计模式(一 面试受挫--代码无错就是好?) 小菜今年计算机专业大四了,学了不少软件开发方面的东西,也学着编了些小程序,踌躇满志,一心要找一个好单位.当投递了无数份简历后,终于收到了一个单位的面试 ...
最新文章
- python快速编程入门课后简答题答案-编程python入门 编程python入门课后习题
- 成功解决解决VM软件安装Linux的Ubuntu过程,开启Linux出现Oprating System not found错误
- 图解如何制作苹果OS X系统ISO光盘
- 计算机可视化仿真技术opengl,基于OpenGL的三维场景可视化仿真
- 如何关闭mac的SIP
- DESC查看表的结构
- 快速创建精彩的Flash游戏之一:Flash游戏引擎及框架介绍
- 【论文笔记】在CommonsenseQA 上追平人类: 通过External Attention 增强 Self-Attention
- SSH连接服务器Secure CRT技巧[Secure CRT连接ubuntu显示密钥交换失败][Ubuntu无法使用root用户登陆的解决办法]
- v-model是什么?怎么使用?
- Linux里面 update 和 upgrade 的区别
- 论文笔记《Combining Events and Frames Using Recurrent Asynchronous Multimodal Networks for Monocular ...》
- mysql数据库sa默认密码_SQL Server数据库sa密码相关问题的解决方法
- uni-app返回上一层页面后数据刷新重置解决办法,uni-app页面不刷新,强制刷新页面方法!
- 苹果大幅砍单?蓝思科技等供应商称未收到通知
- 参加2020全国大学生数学建模竞赛有感
- Android ------ Android X 的BottomNavigationView底部导航栏
- qtabbar设置不同宽度_前端之css(宽高)设置小技巧
- FTP 文件传输协议
- XenApp / XenDesktop 7.6 初体验九 Director
热门文章
- Java Review - 并发编程_并发List_CopyOnWriteArrayList源码剖析
- 实战SSM_O2O商铺_42【前端展示】店铺列表页面View层的实现
- 学习笔记Hive(二)—— Hive安装配置
- pythontcp服务器框架_tcp服务器简单框架-python客户端
- harmonyos2.0三大技术特点,一文解析HarmonyOS的技术特性、子系统架构、四大技术特性...
- 火电厂给水控制系统设计
- 用c语言编写图书成绩管理系统,学生成绩管理系统(c语言编写).doc
- 阻止浏览器自动填充input密码框
- cocosc++怎么打印_Lua调用C++时打印堆栈信息
- 在html中如何使用span,如何在HTML和CSS中使用DIV和span?