小菜编程成长记(二 代码规范、重构)

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

    }

}


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

(待续)


      

posted on 2006-08-30 09:49  伍迷  阅读(...)  评论(...编辑  收藏

导航