小编Mat*_*t S的帖子

connect方法应该返回一个值吗?

我正在查看我继承的一些代码,如果我喜欢一些代码,我无法决定.

基本上,有一个方法如下所示:

bool Connect(connection parameters){...}
Run Code Online (Sandbox Code Playgroud)

如果成功连接则返回true,否则返回false.

我过去曾编写过这样的代码,但现在,当我看到这种方法时,由于种种原因,我不喜欢它.

  1. 它很容易编写代码,只是忽略返回的值,或者没有意识到它返回一个值.

  2. 无法返回错误消息.

  3. 检查方法的返回并不是很好看:

    if(!Connect(...)){....}

我可以重写代码以在它没有成功连接时抛出异常,但我不认为这是一种特殊情况.相反,我正在考虑重构代码如下:

void Connect(Connection Parameters, out bool successful, out string errorMessage){...}
Run Code Online (Sandbox Code Playgroud)

我喜欢其他开发人员必须提供成功和错误字符串,以便他们知道该方法有错误条件,我可以知道返回一条消息

有人对此事有任何想法吗?

谢谢 - 马特

c# coding-style

8
推荐指数
2
解决办法
406
查看次数

标签 统计

c# ×1

coding-style ×1