它是不好的做法是使用一个void方法中的回报? [英] Is it bad practice to use return inside a void method?

查看:137
本文介绍了它是不好的做法是使用一个void方法中的回报?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

想象一下下面的代码:

 无效DoThis()
{
如果(!的isValid)返回;

找时间做();
}

空隙找时间做吧(){
Console.WriteLine(找时间做吧());
}

是否确定使用无效方法内部回报?是否有任何性能损失?或者,它会更好写这样的代码:

 无效DoThis()
{
如果(isValid方法)
{
找时间做();
}
}


解决方案

一个返回在真空的方法也不错,是一种常见的做法反转如果语句,以减少嵌套



和其对你的方法少筑巢提高代码的可读性和可维护性。



其实,如果您有没有任何return语句一个void方法,编译器总是会产生的 ret指令的在它的结束。


Imagine the following code:

void DoThis()
{
    if (!isValid) return;

    DoThat();
}

void DoThat() {
    Console.WriteLine("DoThat()");
}

Is it OK to use a return inside a void method? Does it have any performance penalty? Or it would be better to write a code like this:

void DoThis()
{
    if (isValid)
    {
        DoThat();
    }
}

解决方案

A return in a void method is not bad, is a common practice to invert if statements to reduce nesting.

And having less nesting on your methods improves code readability and maintainability.

Actually if you have a void method without any return statement, the compiler will always generate a ret instruction at the end of it.

这篇关于它是不好的做法是使用一个void方法中的回报?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆