小菜編程成長記(二 代碼規范、重構)

作者: 伍迷  發布時間: 2008-09-04 11:25  閱讀: 7199 次  推薦: 1   原文鏈接   [收藏]  

系列文章導航:

四大發明之活字印刷——面向對象思想的勝利

小菜編程成長記(一 面試受挫——代碼無錯就是好?)

小菜編程成長記(二 代碼規范、重構)

小菜編程成長記(三 復制VS復用)

小菜編程成長記(四 業務的封裝)

小菜編程成長記(五 體會簡單工廠模式的美妙)

小菜編程成長記(五 體會簡單工廠模式的美妙)

小菜編程成長記(五 體會簡單工廠模式的美妙)

小菜編程成長記(六 工廠不好用了?)

小菜編程成長記(七 用“策略模式”是一種好策略)

小菜編程成長記(八 反射——程序員的快樂!)

小菜編程成長記(九 會修電腦不會修收音機?——聊設計模式原則)

小菜編程成長記(十 三層架構,分層開發)

小菜編程成長記(十一 無熟人難辦事?——聊設計模式迪米特法則)

小菜編程成長記(十二 有了門面,程序員的程序會更加體面!)

小菜編程成長記(十三 設計模式不能戲說!設計模式怎就不能戲說?)

 

(續上篇) 
        大鳥說:“且先不說出題人的意思,單就你現在的代碼,就有很多不足的地方需要改進。比如變量命名,你的命名就是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);
        }

    }

}


        大鳥:“吼吼,不錯,不錯,改得很快嗎?至在目前代碼來說,實現計算器是沒有問題了,但這樣寫出的代碼是否合出題人的意思呢?”
        小菜:“你的意思是面向對象?”
        大鳥:“哈,小菜非小菜也!”

(待續)

 

1
0
 
 
 

文章列表

全站熱搜
創作者介紹
創作者 大師兄 的頭像
大師兄

IT工程師數位筆記本

大師兄 發表在 痞客邦 留言(0) 人氣()