问题列表 - 第3847页

如何管理无效检查的冲击?

通常,在编程中我们会遇到null检查显示特别大的情况.我说的是:

if (doc != null)
{
  if (doc.Element != null)
  {
    ... and so on
  }
  else
    throw new Exception("Element cannot be null");
} else {
  throw new Exception("document cannot be null");
}
Run Code Online (Sandbox Code Playgroud)

基本上,整个事情变成了一个难以理解的噩梦,所以我想知道:有没有更简单的方法来描述我上面要做的事情?(除了空检查,我string.IsNullOrEmpty不时会得到类似的东西.)

接受的答案:我接受了具有此链接的答案,因为所描述的方法具有创新性,正是我想要的.谢谢肖恩!

.net c#

22
推荐指数
4
解决办法
2408
查看次数

在Java中调用"父"组件的方法

我认为最好在示例程序代码中显示以下情况.我有一个扩展的Java类JPanel.在这个类中有两个对象,还有两个JPanels.其中一个JPanel对象是一个JTable对象.我添加了一个侦听器来JTable检测双击.当它检测到双击时,我想在顶级类中触发一个方法.如何在Java中引用此方法?

public class TopPanel extends JPanel {

  JPanel OnePanel;
  JPanel TwoPanel;

  public void MethodToFire;

}

public class OnePanel extends JPanel {

  JTable TheTable;

}

public class TheTable extends JTable {

  public TheTable {
    this.addMouseListener(new MouseAdapter(){
      public void mouseClicked(MouseEvent e){
          if (e.getClickCount() == 2){ SYNTAX CALLING THE METHOD IN TopPanel  }
      }
    } );
  }
}
Run Code Online (Sandbox Code Playgroud)

java methods class

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

什么软件和硬件对于开发iPod至关重要?在电脑上?

我有一个想法,可以在iPod上运行一个简单的应用程序.我是一名经验丰富的程序员,但没有iPod或任何Mac或Apple操作系统的经验.在使用PC作为开发平台开始开发的硬件和软件方面,有哪些基本要素?PC需要运行Linux吗?

iphone cocoa cocoa-touch ipod-touch

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

C++中的覆盖和重载

是的,我确实理解它们之间的区别.我想知道的是:为什么OVERRIDE一个方法?这样做有什么好处?在超载的情况下:唯一的优点是你不必用不同的名称思考功能?

c++ overriding overloading

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

N层POCO/DTO窘境

当只有邪恶的数据集和微软应用程序块时,层之间的传输对象将是数据集/数据表或DTO/POCO.我属于喜欢使用DTO/POCO的团伙.

现在有了SubSonic,Entity Framework,NHibernate等映射层的突然波动,我还应该使用我最喜欢的POCO吗?我主要这样做,当使用ASP.net webforms 99%时,最终使用ObjectDataSource绑定到控件和特定于每种类型的功能.

我是否应该放弃对POCO的这种爱,并传递IQueryables或Entities或类似的东西并利用其他DataSource对象?

使用这些对象而不是DTO的优点和缺点是什么?它将如何影响我的应用程序设计和性能?

编辑:我什么时候可以使用其他数据源,如Linq Datasorce和Entity数据源等?

.net orm separation-of-concerns

4
推荐指数
2
解决办法
2733
查看次数

如何在Python中处理YAML流

我有一个命令行应用程序连续输出以下形式的YAML数据:

- col0: datum0
  col1: datum1
  col2: datum2
- col0: datum0
  col1: datum1
  col2: datum2
...

它永远都是这样做的.我想写一个Python脚本,不断读取每个记录.

PyYAML库似乎最擅长于完全加载的字符串并将它们解释为完整的YAML文档.有没有办法将PyYAML置于"流媒体"模式?

或者我自己选择将数据分块并一点一点地输入PyYAML?

python streaming command-line yaml

6
推荐指数
1
解决办法
2151
查看次数

我可以使用urllib提交SOAP请求吗?

我有一个SOAP请求,已知可以使用像SoapUI这样的工具,但我试图使用urllib来使其工作.

这是我到目前为止尝试过的,它不起作用:

import urllib
f = "".join(open("ws_request_that_works_in_soapui", "r").readlines())
urllib.urlopen('http://url.com/to/Router?wsdl', f)
Run Code Online (Sandbox Code Playgroud)

我无法找到关于如何将文档发布到SOAP服务器的规范.

urllib不是必需的.

python soap

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

将小数提高到十进制的幂?

.net框架在Math类中提供了一个为double提供动力的方法.但是根据精度要求,我需要将小数提高到十进制幂[Pow(十进制a,十进制b)].框架是否具有这样的功能?有没有人知道有这种功能的图书馆?

c# decimal bigdecimal

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

可以在没有浏览器阻塞的情况下添加大量DOM节点吗?

我的网站上有一个显示表的网页,每隔10秒重新加载XML源数据(使用XmlHttpRequest),然后更新表以向用户显示数据的任何添加或删除.为此,JavaScript函数首先清除表中的所有元素,然后为每个数据单元添加一个新行.

最近,我通过这个DOM破坏和创建代码导致了Internet Explorer中的大量内存泄漏(大多数代码都与JavaScript对象和DOM对象之间的循环引用有关,而我们正在使用的JavaScript库静静地保存引用每个创建的JS对象,new Element(...)直到页面被卸载).

随着内存问题的解决,我们现在发现了一个基于CPU的问题:当用户需要查看大量数据时(100多个数据单元,相当于<tr>要创建的100个节点,以及每个单元的所有表格单元格)列),该进程占用CPU,直到Internet Explorer提示用户:

停止运行此脚本?
此页面上的脚本导致Internet Explorer运行缓慢.如果它继续运行,您的计算机可能会无响应.

似乎运行行和单元创建代码超过100多个数据是导致CPU使用率飙升的原因,这个函数需要"太长时间"(从IE的角度来看)才能运行,从而导致IE生成这个警告给用户.我还注意到,虽然"更新屏幕"功能运行100行,但IE不会重新呈现表内容,直到函数完成(因为JS解释器在该时间段内使用100%CPU,我假设) .

所以我的问题是:在JavaScript中是否有任何方法告诉浏览器暂停JS执行并重新呈现DOM?如果没有,是否有任何处理创建大量DOM节点和没有浏览器阻塞的策略?

我能想到的一种方法是异步处理"更新表"逻辑; 也就是说,一旦完成重新加载XML数据的Ajax方法,将数据放入某种数组,然后设置一个函数(使用setInterval())来运行,它将一次处理一个数组元素.然而,这似乎有点像在JavaScript环境中重新创建线程,这看起来可能变得非常复杂(即,如果在我仍然重新创建表的DOM节点时,另一个Ajax数据请求会发生什么?等等)


更新:只想解释为什么我接受RoBurg的答案.在做一些测试时,我发现new Element()我的框架中的方法(我使用的是mootools)大约document.createElement()是IE7中传统方法的2倍.我运行了一个测试来创建1000 <spans>并将它们添加到一个<div>,new Element()在IE7上运行大约1800ms(在Virtual PC上运行),传统方法大约需要800ms.

我的测试还揭示了一种更快的方法,至少对于像我这样的简单测试:使用John Resig所描述的DocumentFragments.使用IE7在同一台机器上运行相同的测试需要247毫秒,比我原来的方法提高了9倍!

javascript ajax dom

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

在Perl中解析Excel文件的最佳方法是什么?

在Perl中解析Excel文件最简单的方法是什么?将其转换为文本文件也可以.

excel perl parsing

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