中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

代碼重構怎么做
來源:易賢網 閱讀:1449 次 日期:2015-04-20 10:52:24
溫馨提示:易賢網小編為您整理了“代碼重構怎么做”,方便廣大網友查閱!

這幾天,接手一個同事的代碼,關于微信接口開發的,那一堆的 if,看得哥蛋痛了,這個毛病也是很多新手容易犯的,所以特地把這次重構寫出來。

下面來我們看看這個代碼的問題所在,if else 里面的代碼塊邏輯,不好改,使得它的重用性為 0,并且難以閱讀。當然,如果 if 只有一兩個,或者3個,這樣寫是問題不大的。

但是如果多了,這種代碼便會讓維護變得困難起來。

if (strMsgType == "text")

{

textContentClient = rootElement.SelectSingleNode("Content").InnerText;

strResult = SetMsgType_Text(strClientName, textContentClient, db, strServerName, Identity);

System.Diagnostics.Trace.WriteLine(strResult);

return Content(strResult);

}

else if (strMsgType == "event")

{

string eventType = rootElement.SelectSingleNode("Event").InnerText.ToLower();

if (eventType == "subscribe")

{

string keyCode = "";

if (rootElement.SelectSingleNode("EventKey") != null)

keyCode = rootElement.SelectSingleNode("EventKey").InnerText.ToLower();

strResult = FormatEventSubscribe(keyCode);

RecordReplyMessage();

return Content(strResult);

}

else if (eventType == "scan")

{

string keyCode = rootElement.SelectSingleNode("EventKey").InnerText.ToLower();

var outLetName = "歡迎關注";

var outletDB = ShoppingContext.CreateInstance(Identity);

var outLetModel = outletDB.Outlets.FirstOrDefault(o => o.SceneId == Int32.Parse(keyCode));

if (outLetModel != null)

outLetName += outLetModel.Name;

return Content(GetTextTemp(strClientName, strServerName, outLetName));

}

else if (eventType == "click")

{

string keyCode = rootElement.SelectSingleNode("EventKey").InnerText.ToLower();

strResult = FomatMenuMessage(keyCode);

return Content(strResult);

}

else if (eventType == "unsubscribe")

{

var subIds = db.ReplyRecords.Where(r => r.FromOpenId == this.ClientId.ToString() && r.EMessType == EEventType.Subscribe.ToString() && r.KeyWord != null).Select(o => o.KeyWord).ToArray();

var unSubIds = db.ReplyRecords.Where(r => r.FromOpenId == this.ClientId.ToString() && r.EMessType == EEventType.Unsubscribe.ToString() && r.KeyWord != null).Select(o => o.KeyWord).ToArray();

var SencesId = "";

foreach (var k in subIds)

{

if (!unSubIds.Contains(k))

{

this.ReplyModel.KeyWord = k;

break;

}

}

this.ReplyModel.EMessType = EEventType.Unsubscribe.ToString();

RecordReplyMessage();

}

}

else if (strMsgType.ToLower() == "location")

{

string strLocation_X = rootElement.SelectSingleNode("Location_X").InnerText;

string strLocation_Y = rootElement.SelectSingleNode("Location_Y").InnerText;

strResult = FormatOutLetLBS(double.Parse(strLocation_X), double.Parse(strLocation_Y), 10);

//strResult = FormatTextMessage(strLocation_X + "|" + strLocation_Y);

return Content(strResult);

}

else if (strMsgType.ToLower() == "image")

{

string strImgUrl = rootElement.SelectSingleNode("PicUrl").InnerText;

}

一種比較好的處理方法就是把語句塊內的代碼抽出來,寫成函數,如下面所示:

public class MessageProcesser

{

public ReplyMessage Process(string xml)

{

var msg = PostMessage.FromXml(xml);

switch (msg.MsgType)

{

case Models.PostMessageType.Event:

var eventType = ((EventMessage)msg).Event;

switch (eventType)

{

case EventType.Click:

return ProcessClickEvent((ClickEvent)msg);

case EventType.Location:

return ProcessLocationEvent((LocationEvent)msg);

case EventType.Scan:

return ProcessScanEvent((ScanEvent)msg);

case EventType.Subscribe:

return ProcessSubscribeEvent((SubscribeEvent)msg);

case EventType.Unsubscribe:

return ProcessUnsubscribeEvent((UnsubscribeEvent)msg);

}

break;

case Models.PostMessageType.Image:

return ProcessImageMessage((ImageMessage)msg);

case Models.PostMessageType.Link:

return ProcessLinkMessage((LinkMessage)msg);

case Models.PostMessageType.Location:

return ProcessLocationMessage((LocationMessage)msg);

case Models.PostMessageType.Text:

return ProcessTextMessage((TextMessage)msg);

case Models.PostMessageType.Video:

return ProcessVideoMessage((VideoMessage)msg);

case Models.PostMessageType.Voice:

return ProcessVoiceMessage((VoiceMessage)msg);

}

return null;

}

protected virtual ReplyMessage ProcessClickEvent(ClickEvent msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage ProcessLocationEvent(LocationEvent msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage ProcessScanEvent(ScanEvent msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage ProcessSubscribeEvent(SubscribeEvent msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage ProcessUnsubscribeEvent(UnsubscribeEvent msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage ProcessImageMessage(ImageMessage msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage ProcessLinkMessage(LinkMessage msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage ProcessLocationMessage(LocationMessage msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage ProcessTextMessage(TextMessage msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage ProcessVideoMessage(VideoMessage msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage ProcessVoiceMessage(VoiceMessage msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage DefaultProcess(PostMessage msg)

{

var reply = new TextReply(msg);

if (msg.MsgType == PostMessageType.Event)

{

reply.Content = string.Format("{0} event is not processed.", ((EventMessage)msg).Event);

}

else

{

reply.Content = string.Format("{0} message is not processed.", msg.MsgType);

}

return reply;

}

}

更多信息請查看IT技術專欄

更多信息請查看技術文章
易賢網手機網站地址:代碼重構怎么做
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
一区二区欧美在线| 久热精品视频在线免费观看| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲黄色高清| 狠狠色狠狠色综合人人| 国产精品性做久久久久久| 欧美日韩国产一区二区三区地区| 久久亚洲综合网| 久久九九精品99国产精品| 午夜精品一区二区三区四区| 亚洲桃色在线一区| 宅男在线国产精品| 亚洲少妇最新在线视频| 艳妇臀荡乳欲伦亚洲一区| 日韩天堂在线观看| 亚洲视屏一区| 欧美一级片在线播放| 久久国产免费| 久久一区欧美| 欧美激情黄色片| 欧美人在线观看| 国产精品乱码一区二三区小蝌蚪 | 一本色道久久综合狠狠躁篇的优点 | 亚洲永久精品大片| 亚洲午夜精品在线| 性色av香蕉一区二区| 久久久精品动漫| 麻豆乱码国产一区二区三区| 欧美成人嫩草网站| 欧美日韩视频在线| 国产亚洲福利一区| 亚洲人久久久| 亚洲一区二区在线观看视频| 午夜亚洲伦理| 欧美成人激情在线| 欧美视频在线观看免费网址| 国产精品一卡二卡| 在线免费观看日本一区| 一区二区高清在线观看| 久久国产日韩| 欧美日韩国产另类不卡| 国产日韩精品一区二区三区在线 | 亚洲国产日韩综合一区| 一本色道88久久加勒比精品| 香蕉久久夜色精品国产使用方法| 欧美在线观看网站| 国产精品人人做人人爽| 国内自拍一区| 午夜久久福利| 国产视频一区二区在线观看| 亚洲小视频在线| 欧美高清视频在线观看| 尤物精品国产第一福利三区| 久久久久国产精品午夜一区| 欧美日韩在线观看一区二区| 亚洲欧美日韩精品久久| 欧美日韩在线一区二区| 国产精品99久久不卡二区| 国产九区一区在线| 亚洲国产精品一区二区第一页| 欧美日韩国产精品一卡| 国产精品欧美一区二区三区奶水 | 亚洲人成人一区二区三区| 亚洲国产欧美一区二区三区丁香婷| 国产香蕉久久精品综合网| 亚洲一区视频在线| 国产欧美亚洲视频| 欧美日韩国产精品| 亚洲一区二区三区成人在线视频精品| 国产欧美日韩不卡免费| 日韩亚洲一区二区| 免费永久网站黄欧美| 国产亚洲精品久久久久动| 在线亚洲欧美专区二区| 欧美激情一区二区三区不卡| 曰韩精品一区二区| 久久精品成人欧美大片古装| 国产精品一区二区黑丝| 国产精品99久久久久久久vr| 欧美精品v日韩精品v国产精品| 狠狠色2019综合网| 久久精品亚洲热| 韩国成人福利片在线播放| 欧美一区二区在线免费观看| 国产精品最新自拍| 欧美一区二区免费| 国产欧美1区2区3区| 亚洲欧美另类久久久精品2019| 欧美日韩国产一区二区三区地区| 亚洲国产精品999| 免费亚洲一区二区| 一色屋精品视频免费看| 久久婷婷久久| 亚洲第一精品福利| 欧美福利网址| 一区二区三区高清在线观看| 欧美高清视频在线观看| 午夜精品久久久久影视| 国产精品人成在线观看免费| 久久精品国产第一区二区三区最新章节 | 亚洲欧美在线x视频| 国产精品白丝黑袜喷水久久久| 99精品国产在热久久| 欧美人妖在线观看| 一区二区三区精品国产| 欧美性理论片在线观看片免费| 中文国产成人精品| 国产精品久久毛片a| 性做久久久久久久免费看| 欧美日韩免费在线观看| 亚洲视频www| 国产精品一区二区在线| 亚洲午夜女主播在线直播| 亚洲国产精品高清久久久| 欧美伦理视频网站| 久久精品国产91精品亚洲| aa日韩免费精品视频一| 亚洲综合精品自拍| 国产亚洲精品一区二555| 久久精品天堂| 欧美婷婷六月丁香综合色| 91久久久亚洲精品| 欧美精品久久久久久久| 亚洲欧美不卡| 狠狠色狠狠色综合| 欧美日本一道本在线视频| 亚洲一区二区三区在线看| 国产麻豆9l精品三级站| 老司机久久99久久精品播放免费| 亚洲人成网站777色婷婷| 欧美日韩视频一区二区三区| 久久精品欧洲| 欧美精品18videos性欧美| 国产精品黄色在线观看| 欧美精品在线播放| 国产精品青草久久| 国产精品亚洲综合久久| 国产一区在线视频| 欧美精品一区二区在线观看| 国产麻豆日韩欧美久久| 亚洲综合999| 国产自产女人91一区在线观看| 久久精品日韩欧美| 激情综合在线| 欧美吻胸吃奶大尺度电影| 欧美亚洲综合另类| 亚洲免费电影在线| 黑人极品videos精品欧美裸| 欧美性猛交xxxx免费看久久久 | 羞羞视频在线观看欧美| 午夜精品国产更新| 国产精品三级视频| 亚洲黄色一区二区三区| 久久深夜福利| 欧美高清在线视频观看不卡| 国产精品福利影院| 亚洲欧美春色| 欧美系列精品| 欧美大片国产精品| 久久国产精品72免费观看| 亚洲精品综合| 好看的日韩av电影| 国产欧美va欧美va香蕉在| 欧美日韩国产在线播放| 裸体女人亚洲精品一区| 99re66热这里只有精品4| 国产麻豆午夜三级精品| 欧美日韩美女| 欧美国产乱视频| 欧美刺激性大交免费视频| 国内成+人亚洲+欧美+综合在线| 欧美一区网站| 亚洲欧洲精品一区二区精品久久久| 久久躁日日躁aaaaxxxx| 国产日韩精品一区二区浪潮av| 久久av资源网站| 亚洲精品国产系列| 国产农村妇女精品一区二区| 蜜臀久久99精品久久久画质超高清| 欧美性色aⅴ视频一区日韩精品| 性欧美精品高清| 亚洲视频网在线直播| 欧美日韩免费区域视频在线观看| 亚洲毛片在线观看.| 欧美日韩在线看| 亚洲一级在线观看| 国产精品高潮呻吟久久av无限| 国产精品日韩在线一区| 久久亚洲精品欧美| 99国产精品国产精品毛片| 国内精品伊人久久久久av一坑| 国产女优一区| 91久久国产自产拍夜夜嗨| 国产亚洲综合精品| 国产一区二区三区在线观看免费| 欧美韩日一区二区三区| 亚洲欧美在线免费观看| 亚洲国产精品专区久久 | 91久久夜色精品国产九色| 欧美人在线观看|