|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
竟发现没有太大的帮助。总觉得要用起来,感觉到不了位。因为公司机器的原因,一直没有安装vs.net(也从来没有用过)。以前做asp的时候一直用DW(感觉其代码联想功能不错),可现在到了asp.net却不习惯了。1.cshtm优化
- varstyle=(status.ID==planViewModel.StatusFirstPositive.ID||status.ID==planViewModel.StatusFirstOnboard.ID?"margin-left:17px;":"")
- +(status.ID==planViewModel.StatusLastOnboard.ID?"margin-right:17px;":"");
- <td>
- @if(status.IsDisplayedOnKanban)
- {
- <divclass="@(status.IsDisplayedOnKanban?"mini-status-indicator-status-onboard":"mini-status-indicator-status")@(status.ID==planViewModel.StatusHighlightedID?"boldtwinkle":"")"
- style="@style;border-color:@(status.Color);">
- @status.Title
- @if(status.ID==planViewModel.StatusHighlightedID)
- {
- <divclass="withnotices"style="margin-left:-2px;">
- <spanclass="notice">重点形态</span>
- </div>
- }
- </div>
- }
- else
- {
- <divclass="@(status.ID==planViewModel.StatusHighlightedID?"boldtwinkle":"")"
- style="color:@status.Color;@style;border-left:1pxsolid#AAA;width:18px;float:left;">
- @status.Title
- @if(status.ID==planViewModel.StatusHighlightedID)
- {
- <divclass="withnotices"style="margin-left:-2px;">
- <spanclass="notice">重点形态</span>
- </div>
- }
- </div>
- }
- </td>
优化后:
- varstyle=(status.ID==planViewModel.StatusFirstPositive.ID||status.ID==planViewModel.StatusFirstOnboard.ID?"margin-left:16px;":"")
- +(status.ID==planViewModel.StatusLastOnboard.ID?"margin-right:19px;":"");
- style+=status.IsDisplayedOnKanban?"border-color:"+status.Color+";":"border-left:1pxsolid#AAA;width:18px;float:left;";
- varClass=status.IsDisplayedOnKanban?"mini-status-indicator-status-onboard":"";
- Class+=status.ID==planViewModel.StatusHighlightedID?"boldtwinkle":"";
- <td>
- <divclass="@Class"style="@style">
- @status.Title
- @if(status.ID==planViewModel.StatusHighlightedID)
- {
- <divclass="withnotices"style="margin-left:-2px;">
- <spanclass="notice">重点形态</span>
- </div>
- }
- </div>
- </td>
判别思绪很复杂,就是:任何两个中央长相不异,则必定有能够兼并优化的中央。
办理思绪:
A.不休找到分歧处,在后面设置变量举行对照性界说(即便用?:对)
假如不是html而是CS代码,那末就是不休天生变量,大概函数的参数。
B.修正一个中央后,就革新考证是不是乐成
代码优化实践上是“重构”,只管代码变短了,但功效稳定。以是要不休考证功效是否是变更了。不要最初才考证,庞大情形下有风险。
2.切换参数完整不异的两个分歧函数
- <strong></strong>container.InnerHtml+=showImage
- <strong>?MFCUI.ImageLink(text,
- </strong>link,
- displayAsLink:displayAsLink,
- grayTextTitle:grayTextTitle,
- displayAsBoldTextOnPage:page,
- title:title,
- imgUrl:imgUrl,
- CSSClass:MFCUI.HoverTwinkleTriggerBodyClass(link.ACT().Substring(1).Replace("/","-"))+""+cssClass,//cssClass:thislinkwilltinklewhenMFCUI.HoverTwinkleTrigger(link.ACT().Substring(1).Replace("/","-"))ishovered.
- showText:showText,
- returnTo:page)
- <strong>:MFCUI.Link(text,
- </strong>link,
- displayAsLink:displayAsLink,
- grayTextTitle:grayTextTitle,
- displayAsBoldTextOnPage:page,
- title:title,
- cssClass:MFCUI.HoverTwinkleTriggerBodyClass(link.ACT().Substring(1).Replace("/","-"))+""+cssClass,//Seecommentsabove.
- showText:showText,
- returnTo:page);<strong>
- </strong>
代码里边一向有下面这段函数,高低一样,就是切换一下ImageLink和Link。
杀代码的一个准绳是:任何两个长相不异的代码,必定有优化的潜力和需要(上高低下修改几回,极可能高低的参数就纷歧样了)。
修正后的了局很复杂:
- container.InnerHtml+=MFCUI.ImageLink(text,
- link,
- displayAsLink:displayAsLink,
- grayTextTitle:grayTextTitle,
- displayAsBoldTextOnPage:page,
- title:title,
- imgUrl:imgUrl,
- <strong>showImage:showImage,
- </strong>cssClass:MFCUI.HoverTwinkleTriggerBodyClass(link.ACT().Substring(1).Replace("/","-"))+""+cssClass,//cssClass:thislinkwilltinklewhenMFCUI.HoverTwinkleTrigger(link.ACT().Substring(1).Replace("/","-"))ishovered.
- showText:showText,
- returnTo:page);
改完了大概看上往很复杂,事先但是断断续续夷由了几天赋想起来怎样改的。
并且实践上修正的时分才想起来,实在Link里边原本就是挪用ImageLink(....showImage:false,....)发生的。
一个很大的类库。应用程序之所以难以跨平台,在于直接调用了特定平台的接口,而一个巨大的类库,就能极大地减少应用程序对平台的依赖。 |
|