我有一个基于枚举的方法,并且在开始时我们有这种情况:
public void MyMetohd(Somestatus status)
{
if(status == Somestatus.Enum1)
{
DoA();
DoB();
DoC();
DoD();
DoE();
}
if(status == Somestatus.Enum2)
{
DoA();
DoB();
DoC();
DoD();
}
if(status == Somestatus.Enum3)
{
DoA();
DoB();
DoC();
}
if(status == Somestatus.Enum4)
{
DoA();
DoB();
}
if(status == Somestatus.Enum5)
{
DoA();
}
}
Run Code Online (Sandbox Code Playgroud)
你会如何优化这种代码(它不是我的代码)?
我已经建立了一个不断变化的旗帜一些杂志的问题,这一切正是工作,我想,但我不知道是否有比所有的,如果我使用检查"issueTotal"语句,这似乎是回到做法,但一个更好的选择它是目前唯一可以让它发挥作用的方式.
任何回复都将非常感谢,提前感谢.
jQuery的
var issueTotal = 0;
$(document).ready(function(){
$('#backIssue0').show();
$('.prevButton').hide();
$('.nextButton').click(function(e) {
e.preventDefault();
issueTotal = issueTotal + 1;
if(issueTotal > 0){
$('.prevButton').show();
}
if(issueTotal < 4){
$('.nextButton').show();
}
if(issueTotal > 3){
$('.nextButton').hide();
}
if(issueTotal == 0){
$('#backIssue0').show();
}
if(issueTotal == 1){
$('#backIssue0').hide();
$('#backIssue1').show();
}
if(issueTotal == 2){
$('#backIssue1').hide();
$('#backIssue2').show();
}
if(issueTotal == 3){
$('#backIssue2').hide();
$('#backIssue3').show();
}
if(issueTotal == 4){
$('#backIssue3').hide();
$('#backIssue4').show();
}
});
$('.prevButton').click(function(e) {
e.preventDefault();
issueTotal = issueTotal - 1;
if(issueTotal > 1){
$('.prevButton').show();
}
if(issueTotal < 1){
$('.prevButton').hide(); …Run Code Online (Sandbox Code Playgroud) 我希望以某种方式简化以下内容:monthNbr==11||monthNbr==4||monthNbr==6||monthNbr==9这里:
public int daysPerMonth (int monthNbr){
if(monthNbr==11||monthNbr==4||monthNbr==6||monthNbr==9){
return 30;
} else if (monthNbr==2) {
return 28;
} else {
return 31;
}
}
Run Code Online (Sandbox Code Playgroud) 我认为以下代码说明了一切.
if (card==1) {
cardImageString = @"myGrabbedImage1.png";
} else if (card==2) {
cardImageString = @"myGrabbedImage2.png";
} else if (card==3) {
cardImageString = @"myGrabbedImage3.png";
} else if (card==4) {
cardImageString = @"myGrabbedImage4.png";
} else if (card==5) {
cardImageString = @"myGrabbedImage5.png";
} else if (card==6) {
cardImageString = @"myGrabbedImage6.png";
} else if (card==7) {
cardImageString = @"myGrabbedImage7.png";
} else if (card==8) {
cardImageString = @"myGrabbedImage8.png";
}
Run Code Online (Sandbox Code Playgroud)
实际的if-else比这大10倍.
卡= int.
CardImageString = NSString.
'card'仅在此声明中使用,可以在您的答案中删除.
我怎样才能简化这一切??? 谢谢!!
这就是我所拥有的:
class Vector3 {
private:
float x;
float y;
float z;
public:
Vector3(float x = 0, float y = 0, float z = 0) {
this->x = x;
this->y = y;
this->z = z;
}
...
};
Run Code Online (Sandbox Code Playgroud)
我觉得this->something = something很重复。我只想用参数构造一次 Vector3 并
然后不再访问这些字段,只需使用方法添加 Vector3。
有什么方法可以简化构造函数而不需要这样做吗this->something = something?或者有什么方法可以“密封”这些字段?
simplify ×5
banner ×1
c# ×1
c++ ×1
constructor ×1
if-statement ×1
java ×1
jquery ×1
nsarray ×1
nsstring ×1
objective-c ×1
optimization ×1