我来到了一个十字路口.我最近写了一个没有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处理?
谢谢
假设我有一个由某些函数组成的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包,但我想避免这种开销只是为了导入一些函数.
我想知道是否有任何类似的东西可以用于价值类型......
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)将变量传递给函数?
我有一个代码块,可以经常访问主线程或其他几个后台线程.我需要确保一次只处理一个代码.
我目前正在使用一个@synchronized(self) { }块,但我不确定这是否提供了正确的保护.它与NSLock实例有何不同?
最后,任何人都可以建议我如何保护我的方法?该方法在我的应用程序委托中,我通过调用以下方法从各种线程访问它:
[[[UIApplication sharedApplication] delegate] myMethod];
Run Code Online (Sandbox Code Playgroud)
非常感谢,
麦克风
对于我的iPhone应用程序,我有一个可编辑(删除)表视图.我希望能够检测到用户点击了"编辑"按钮.看到这张图片:http: //grab.by/It0
从文档中,看起来我是否实现了:
- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud)
然后我可以检测到它(虽然从方法的名称,我不会想到).事实证明这不起作用.
检测到这个的任何想法?我想要的原因是我想在删除模式时勾选左上角的"全部删除"按钮.
谢谢
我有一个依赖外部DLL文件的Visual Studio C++项目.在构建项目时,如何使Visual Studio自动将此DLL文件复制到输出目录(调试/发布)?
我已升级到Python 3,无法弄清楚如何将反斜杠转义的换行符转换为HTML.
浏览器按字面意思呈现反斜杠,因此"\n"对HTML源没有影响.因此,我的源页面只有很长的一行,无法诊断.
嗨,我不习惯在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结束
感谢您的任何帮助
迈克尔
MassTransit中是否有可以帮助管理队列的内容?
我特意想到错误队列.我看到类似于此的线程,但我不打算用实用程序来管理它,而是在代码中.
场景:
Web客户端 - 将命令作为消息发布到应用程序服务器上的远程队列.
应用程序服务器 - 命令被使用和执行.如果命令在执行期间抛出,则将其置于错误队列中.
Web客户端 - 最终用户可以查看错误队列中的所有命令.他们一次解决一个并将它们重新发布以便再次执行.
前两个很容易.第三个是我现在所处的位置.任何建议都非常感谢.
谢谢,
罗布
如果我想像这样删除我的数据库中的所有表,它会处理外键约束吗?如果没有,我该如何处理?
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
ios ×2
iphone ×2
bash ×1
c# ×1
cocoa-touch ×1
constraints ×1
debugging ×1
dll ×1
drop-table ×1
exception ×1
filenames ×1
foreign-keys ×1
html ×1
masstransit ×1
messaging ×1
newline ×1
params ×1
python ×1
python-3.x ×1
r ×1
reference ×1
servicebus ×1
sql-server ×1
tdd ×1
unicode ×1
unit-testing ×1
visual-c++ ×1