zoukankan      html  css  js  c++  java
  • 小菜编程成长记(二 代码规范、重构)

    (续上篇) 
            大鸟说:“且先不说出题人的意思,单就你现在的代码,就有很多不足的地方需要改进。比如变量命名,你的命名就是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));
                        
    else
                            strResult 
    = "除数不能为0";
                        
    break;
                }


                Console.WriteLine(
    "结果是:" + strResult);
                
                Console.ReadLine();


            }

            
    catch (Exception ex)
            
    {
                Console.WriteLine(
    "您的输入有错:" + ex.Message);
            }

        }

    }


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

    (待续)


          

  • 相关阅读:
    java程序员怎么创建自己的网站:第一章:总体流程
    技术汇总:第五章:使用angularjs做首页三级分类
    js中Function的apply方法与call方法理解
    常用方法
    Array对象(一)
    一张图理解is_nll isset empty
    解析centos中Apache、php、mysql 默认安装路径
    常用命令
    centos虚拟机启用网卡
    初学Linux笔记
  • 原文地址:https://www.cnblogs.com/cj723/p/490094.html
Copyright © 2011-2022 走看看