http://msdn.microsoft.com/en-us/library/system.double.epsilon.aspx
如果创建一个自定义算法来确定是否可以将两个浮点数视为相等,则必须使用大于Epsilon常量的值来确定两个值相等的可接受的绝对差值.(通常,差异幅度比Epsilon大很多倍.)
那么这不是真正可以用于比较的ε吗?我真的不明白MSDN的措辞.
它可以在这里的示例中用作epsilon吗?- 浮动和双重比较最有效的方法是什么?
最后这看起来非常重要,所以我想确保我有一个可靠的实现平等,大于,小于,小于或等于,大于或等于.
我目前有一个Web钩子,它正在调用AWS API Gateway - > AWS Lambda函数代理.我想让网络钩子更具响应性,并在继续处理Lambda时返回早期回复.
我继续从Lambda(Node v6.10)做了这个早期回复,但似乎没有提高响应能力.尽管已经有来自回调的响应,API网关是否在某种程度上等待Lambda完成执行?
另一个想法是从Lambda发布SNS通知并进行第二次Lambda侦听并继续处理,但如果有更简单的方法,则宁愿避免这种复杂化.
视图是否在其接口中没有任何特定于事件的事件,并调用presenter普通方法来处理事件而没有任何正式的EventHandlers?例如
// ASPX
protected void OnSaveButtonClicked(object sender, EventArgs e)
{
_Presenter.OnSave();
}
Run Code Online (Sandbox Code Playgroud)
或者视图是否在其接口中定义了事件EventHandler,并将这些事件明确地链接到控制页面上的事件
// View
public interface IView
{
...
event EventHandler Saved;
...
}
// ASPX Page implementing the view
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
SaveButton.Click += delegate { Saved(this, e); };
}
// Presenter
internal Presenter(IView view,IRepository repository)
{
_view = view;
_repository = repository;
view.Saved += Save;
}
Run Code Online (Sandbox Code Playgroud)
第二个似乎是一大堆管道代码全部添加.
我的目的是了解每种风格的好处,而不仅仅是一个可以使用的一揽子答案.我的主要目标是清晰度和高价值可测试性.整体可测试性很重要,但我不会牺牲设计的简洁性和清晰度,以便能够添加另一种类型的测试,这种测试不会导致通过更简单的设计实现的测试案例获得太多的收益.如果一个设计选择没有更多可测试性,请包括它现在可以提供的测试类型的示例(伪代码很好),所以如果我足够重视那种类型的额外测试,我可以做出决定.谢谢!
更新:我的问题是否需要进一步澄清?
class TreeNode
{
public string Value { get; set;}
public Collection<TreeNode> Nodes { get; set;}
public TreeNode()
{
Nodes = new Collection<TreeNode>();
}
}
Run Code Online (Sandbox Code Playgroud)
1)如何编写递归lambda表达式以返回具有特定值的TreeNode(如果未找到则返回null),假设值是唯一的?当然#1可以使用#2来回答,但我想如果你知道没有重复,可能会有更有效的方法.
2)假设值不唯一,现在返回匹配列表?