问题列表 - 第3197页

哪种方法在TSP问题中产生较短的旅程:最近邻居或遗传算法?

在过去的几天里,我已经注意到了几个网站 的网站是展示了使用遗传算法TS解决方案.

哪种方法在TSP问题中产生较短的旅程:最近邻居或遗传算法?

artificial-intelligence heuristics traveling-salesman nearest-neighbor genetic-algorithm

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

我应该使用`!IsGood`还是`IsGood == false`?

我一直看到像这样检查的代码

if (IsGood == false)
{
   DoSomething();
}
Run Code Online (Sandbox Code Playgroud)

或这个

if (IsGood == true)
{
   DoSomething();
}
Run Code Online (Sandbox Code Playgroud)

我讨厌这种语法,并始终使用以下语法.

if (IsGood)
{
   DoSomething();
}
Run Code Online (Sandbox Code Playgroud)

要么

if (!IsGood)
{
   DoSomething();
}
Run Code Online (Sandbox Code Playgroud)

有没有理由使用' == true'或' == false'?

这是一个可读性的东西吗?人们只是不了解布尔变量?

另外,这两者之间是否有任何性能差异?

language-agnostic boolean not-operator

46
推荐指数
12
解决办法
5296
查看次数

摩尔定律问题

假设您需要在世界上最快的超级计算机上运行程序,这需要10年才能完成.你可以:

  • 现在花费2.5亿美元
  • 计划9年,摩尔定律加速(快4,000倍),10年内花费100万美元,在2周内完成.

什么是最佳策略?

来自" 长期存储趋势和您 "的问题

moores-law

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

从Java中的方法返回状态标志和消息的最佳方法

我有一个看似简单的场景,我想要一个简单的解决方案,但是哪个是"最正确"或"大多数Java"并不明显.

假设我在某个类中有一个小的身份验证(客户端客户端)方法.验证可能由于多种原因而失败,我想为控制流返回一个简单的布尔值,但也为用户返回一条String消息.这些是我能想到的可能性:

  • 返回一个布尔值,并传入一个StringBuilder来收集消息.这是最接近C风格的方式.
  • 抛出异常而不是返回false,并包含消息.我不喜欢这样,因为失败并非例外.
  • 使用boolean和String创建一个名为AuthenticationStatus的新类.对于一种小方法来说,这似乎有些过分.
  • 将消息存储在成员变量中.这会引入潜在的竞争条件,我不喜欢它意味着某些状态并不存在.

还有其他建议吗?

编辑关闭此选项

  • 返回null表示成功 - 这不安全吗?

编辑方案:

我选择了最OO解决方案并创建了一个小型AuthenticationResult类.我不会用任何其他语言来做这个,但我喜欢Java.我也喜欢返回String []的建议,因为它像null返回但更安全.Result类的一个优点是,如果需要,您可以获得包含更多详细信息的成功消息.

java exception return-value

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

我们是否放弃了代码重用的想法?

几年前,媒体上充斥着关于代码重用思想如何提高生产力和代码质量的各种文章.

从我定期检查的博客和网站看来,似乎"代码重用"的想法已经过时了.也许"代码重用"倡导者已经加入了SOA人群?:-)

有趣的是,当您在Google中搜索"代码重用"时,第二个结果标题为:

"内部代码重用被认为是危险的"!

对我来说代码重用的想法只是常识,毕竟看看apache commons项目的成功!

我想知道的是:

  • 您或您的公司是否尝试重用代码?
  • 如果是这样,在什么级别,即低级API,组件或共享业务逻辑?您或您的公司如何重用代码?
  • 它有用吗?

讨论?


我完全清楚有许多可用的开源库,任何使用过.NET或Java的人都会以某种形式重用代码.这是常识!

我更多地指的是组织内的代码重用,而不是通过共享库等社区中的代码重用.

我最初问过;

  • 您或您的公司是否尝试重用代码?
  • 如果是这样,在什么级别,即低级API,组件或共享业务逻辑?您或您的公司如何重用代码?

从我所在的位置,我看到很少有公司试图在内部重用代码?

如果你有一段可能在中等规模的组织中共享的代码,你会如何告知公司的其他成员这个lib/api/etc是否存在并且可能有益?

soa code-reuse components

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

部分类模板专业化是这个设计问题的答案吗?

假设您有一个班级,他们的工作就是连接到远程服务器.我想抽象这个类来提供两个版本,一个通过UDP连接,另一个通过TCP连接.我想构建最精简的运行时代码,而不是使用多态,我正在考虑模板.这是我想象的,但我不确定这是最好的方法:

class udp {};
class tcp {};

template<class T,typename X>
class service
{
private:
  // Make this private so this non specialized version can't be used
   service();
};

template<typename X>
class service<udp, X>
{
private:
   udp _udp;
   X _x;
};

template<typename X>
class service<tcp, X>
{
private:
   tcp _tcp;
   X _x;
};
Run Code Online (Sandbox Code Playgroud)

因此最终的好处是T的通用性仍然可用,但设置UDP或TCP连接所需的非常不同的代码已经过专门化.我想你可以将它们放在一个类中,或者提供另一个类,它遵循一些纯虚拟接口来设置网络连接,比如IConnectionManager.

但这确实留下了通用T的代码问题,现在必须在两个专用版本中编写和维护,它们最终都是相同的.如何最好地解决这个问题?我有一种感觉,我认为这一切都错了.

c++ oop templates specialization

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

黑莓线程模型

我已经阅读了许多评论,其中提到黑莓线程模型偏离了Java标准并且可能导致问题,但是没有任何谷歌搜索引起了我对这意味着什么的启发.

我一直在为BlackBerry开发一个相当大的业务应用程序,虽然我之前没有任何Java多线程应用程序的经验,但是没有遇到任何我们能够将其归咎于线程的问题,除了我们自己造成的.

有人可以准确描述黑莓线程模型的不同之处,以及我作为开发人员应该如何考虑这一点?显然,关于该主题的任何链接也都很棒.

java multithreading blackberry java-me

10
推荐指数
2
解决办法
5675
查看次数

由于权限,无法将所有文件添加到git

我想将当前目录中的所有文件添加到git:

git add .
error: open(".mysql_history"): Permission denied
fatal: unable to index file .mysql_history
Run Code Online (Sandbox Code Playgroud)

没关系.该文件恰好位于此目录中并由root拥有.我想添加所有其他文件.有没有办法做到这一点,而无需手动手动添加每个文件?

我知道我可以添加要排除或.gitignore的文件,但我想让它根据权限忽略一些东西(这样的其他文件很可能最终会在目录中,并将它们添加到.gitignore一直很痛苦).

git

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

OpenCL:它与OpenMP配合得很好,可以将其他语言连接到它等等

几天前OpenCL的1.0规范刚刚问世(Spec就在这里),我刚刚开始阅读它.我想知道它是否与OpenMP(规范)等其他高性能多处理API一起运行良好,我想知道我应该学到什么.所以,这是我的基本问题:

  1. 如果我已经在使用OpenMP,那么会破坏OpenCL,反之亦然?
  2. OpenCL比OpenMP更强大吗?或者他们打算互补?
  3. 是否有将OpenCL程序连接到标准C99程序(或任何其他语言)的标准方法?它是什么?
  4. 有谁知道是否有人正在撰写OpenCL书籍?我正在阅读规范,但我发现书籍更有帮助.

openmp opencl

10
推荐指数
2
解决办法
5516
查看次数

从csproj文件构建依赖关系树

我目前正在将msbuild用于600多个项目的解决方案。

想象一下,我更改了10个项目使用的1个库的代码。与其提供全部600个项目供msbuild使用,而不是让其编译所有项目并找出依赖项,不如将其提供给msbuild。我想知道是否可以使用一个程序或库来分析所有600个项目的依赖关系,并只允许我编译11个必需的项目。

换句话说,给定要扫描的所有600个项目的输入,而BaseLibrary.csproj作为已被修改参数的项目,仅提供我需要编译为输出的11个项目。

我在编写自定义任务方面经验丰富,如果有的话,我宁愿使用第三方库进行依赖关系分析。

我公司每3-4个月进行一次增量发布。作为一个实验,我编写了一个自定义任务,该任务查看先前发行版的“ Subversion标记”,并评估此后已更改的所有已编译文件,并将它们映射到项目。

我能想到的唯一用例是不起作用的,是我提到的那种情况,其中更改了基础库,而系统也不知道依赖该库的所有项目。

c# msbuild optimization

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