问题列表 - 第16792页

TDD如何与Exceptions和参数验证一起使用?

我来到了一个十字路口.我最近写了一个没有TDD的10,000行应用程序(我知道这个错误).我肯定遇到了很多错误,但现在我想改造项目.这是我遇到的问题.让我们举一个分裂功能的例子:

public int divide (int var1, int var2){
if (var1 == 0 || var2 == 0)
   throw new RuntimeException("One of the parameters is zero");
return var1 / var2;
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我抛出一个运行时错误,以便我可以失败,至少发现我的代码在某个地方被破坏了.问题是2倍.首先,我是否在这里正确使用了例外情况?其次,如何编写测试来处理此异常?显然我希望它通过测试,但在这种情况下,它会抛出异常.不太确定如何解决这个问题.是否有一种不同的方式通常用TDD处理?

谢谢

debugging tdd unit-testing exception

1
推荐指数
2
解决办法
3936
查看次数

将函数导入当前命名空间

假设我有一个由某些函数组成的R源文件,无论它们是什么,例如,

fnx = function(x){(x - mean(x))/sd(x)}
Run Code Online (Sandbox Code Playgroud)

我希望能够在我当前的R会话中访问它们(显然没有输入它们).如果库("/ path/to/file/my_fn_lib1.r")工作,那将是很好的,因为"import"在Python中工作,但事实并非如此.一个显而易见的解决方案是创建一个R包,但我想避免这种开销只是为了导入一些函数.

r

40
推荐指数
1
解决办法
3万
查看次数

有趣的"参考参考"功能,任何解决方法?

我想知道是否有任何类似的东西可以用于价值类型......

public static class ExtensionMethods {
    public static void SetTo(this Boolean source, params Boolean[] bools) {
        for (int i = 0; i < bools.Length; i++) {
            bools[i] = source;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

那么这是可能的:

Boolean a = true, b, c = true, d = true, e;
b.SetTo(a, c, d, e);
Run Code Online (Sandbox Code Playgroud)

当然,这不起作用,因为bools是一个值类型,因此它们作为值传递给函数,而不是作为引用.

除了将值类型包装到引用类型中(通过创建另一个类),有没有办法在使用params修饰符时通过引用(ref)将变量传递给函数?

c# extension-methods reference params

12
推荐指数
1
解决办法
5876
查看次数

@synchronized()和NSLock的区别

我有一个代码块,可以经常访问主线程或其他几个后台线程.我需要确保一次只处理一个代码.

我目前正在使用一个@synchronized(self) { }块,但我不确定这是否提供了正确的保护.它与NSLock实例有何不同?

最后,任何人都可以建议我如何保护我的方法?该方法在我的应用程序委托中,我通过调用以下方法从各种线程访问它:

[[[UIApplication sharedApplication] delegate] myMethod];
Run Code Online (Sandbox Code Playgroud)

非常感谢,

麦克风

iphone multithreading ios

29
推荐指数
2
解决办法
2万
查看次数

如何在iPhone UITableView上检测编辑模式

对于我的iPhone应用程序,我有一个可编辑(删除)表视图.我希望能够检测到用户点击了"编辑"按钮.看到这张图片:http: //grab.by/It0

从文档中,看起来我是否实现了:

- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud)

然后我可以检测到它(虽然从方法的名称,我不会想到).事实证明这不起作用.

检测到这个的任何想法?我想要的原因是我想在删除模式时勾选左上角的"全部删除"按钮.

谢谢

iphone cocoa-touch ios

14
推荐指数
2
解决办法
2万
查看次数

如何使Visual Studio将DLL文件复制到输出目录?

我有一个依赖外部DLL文件的Visual Studio C++项目.在构建项目时,如何使Visual Studio自动将此DLL文件复制到输出目录(调试/发布)?

dll visual-studio visual-c++

94
推荐指数
6
解决办法
10万
查看次数

Python 3:将新行写入HTML

我已升级到Python 3,无法弄清楚如何将反斜杠转义的换行符转换为HTML.

浏览器按字面意思呈现反斜杠,因此"\n"对HTML源没有影响.因此,我的源页面只有很长的一行,无法诊断.

html python unicode newline python-3.x

7
推荐指数
2
解决办法
2万
查看次数

Bash:For Filename do

嗨,我不习惯在Bash做事,所以我遇到了一些问题:

我的目标是在文件夹中查找特殊文件,如果找到则生成一些具有相同文件名但扩展名不同的其他文件.

就像是:

For Files-that-are-called-"SysBackup*.Now" 
do
  NewFileName = ChangeFileExt(FoundFilename),BK
  GenerateNewfile(NewFileName)
done
Run Code Online (Sandbox Code Playgroud)

以上当然是虚拟代码,我不会用我所做的代码打扰你,因为它不起作用:-)

所以目标应该是:

如果该文件夹包含Sysbackup123.now和Sysbackup666.now,我将以文件Sysbackup123.bk和Sysbackup666.bk结束

感谢您的任何帮助

迈克尔

bash filenames

4
推荐指数
1
解决办法
2467
查看次数

MassTransit队列维护

MassTransit中是否有可以帮助管理队列的内容?

我特意想到错误队列.我看到类似于此的线程,但我不打算用实用程序来管理它,而是在代码中.

场景:

  • Web客户端 - 将命令作为消息发布到应用程序服务器上的远程队列.

  • 应用程序服务器 - 命令被使用和执行.如果命令在执行期间抛出,则将其置于错误队列中.

  • Web客户端 - 最终用户可以查看错误队列中的所有命令.他们一次解决一个并将它们重新发布以便再次执行.

前两个很容易.第三个是我现在所处的位置.任何建议都非常感谢.

谢谢,
罗布

messaging masstransit message-queue servicebus

5
推荐指数
1
解决办法
1677
查看次数

SQL DROP TABLE外键约束

如果我想像这样删除我的数据库中的所有表,它会处理外键约束吗?如果没有,我该如何处理?

GO
IF OBJECT_ID('dbo.[Course]','U') IS NOT NULL
    DROP TABLE dbo.[Course]
GO
IF OBJECT_ID('dbo.[Student]','U') IS NOT NULL
    DROP TABLE dbo.[Student]
Run Code Online (Sandbox Code Playgroud)

sql-server constraints foreign-keys drop-table database-table

141
推荐指数
4
解决办法
29万
查看次数