1. 程式人生 > >新手C#代碼簡潔性—函數篇

新手C#代碼簡潔性—函數篇

c# 基本 如果 htm 不同的 站點 home href 調用

1.從Html代碼抽取MVC HtmlHelper


<td class = "noborder nopaddingv">
<div class = "aligncenter">
<a href="/Home/Index">
<img
src="../../Resouces/Images/Agile/Menu/Campass48.png" alt = "站點地圖"
title = "站點地圖" class = "imagelink"/></a><br />
站點地圖
</div>
</td>
<td class = "noborder nopaddingv">
<div class = "aligncenter">
<a href="/Home/Index" target = "_blank">
<img
src="../../Resouces/Images/Agile/Help/Help48.png" alt = "幫助" title = "
幫助" class = "imagelink"/></a><br />
幫助
</div>
</td>

改後:

@Html.MenuImageButtonV("站點地圖", false, "/Home/Index",
"../../Resouces/Images/Agile/Menu/Campass48.png")
@Html.MenuImageButtonV("幫助", true, "/Home/Index",
"../../Resouces/Images/Agile/Help/Help48.png")
這種技法:當兩段代碼相同時,可以變成一個函數和兩次調用,相同的部分就是函
數,不同的部分就是調用參數。


2.函數接口的簡潔性:

不是編寫了函數就萬事大吉了,不好的函數接口依然不簡潔。下面是一個剛改好的
例子:

@Html.ImageLink("燃燒圖", true,
"../../Resouces/Images/Agile/CurrentSprint/BurndownData16.png", "icons",
false, "/Agile/CurrentSprint/BurndownData", null, null)

@Html.ImageLink("叠代計劃", true,
"../../Resouces/Images/Agile/Sprints/Index16.png", "icons", false,
"/Agile/Sprints/Index", null, null)

...
修改後的結果(另外一段代碼):

@Html.ImageLink("叠代計劃", "/Agile/Sprints/Index", true) //這個true有些
地方不太一樣所以留下了。
@Html.ImageLink("叠代故事", "/Agile/Sprints/SprintStories", true)
這種技法:如果函數在重復調用時有些參數變化,有些參數基本不變("icons",
true, false, null....),後者應該變成一些可選參數並設置缺省值。

新手C#代碼簡潔性—函數篇