小编Evi*_*ach的帖子

测试课程

我昨天整理了一堂课,做了一些有用的工作.我开始进行alpha测试,并且在某些时候意识到我正在为类本身添加与alpha测试相关的方法.它打击了我,他们不属于那里.在经过一些努力之后,我从基类中派生了一个测试类,该类也可以访问受保护的成员.我把所有与测试相关的方法,并在测试类中设置和拆除,并使基类倾斜,并且正如俗话所说的那样.

在这里浏览了一段时间后,我发现一条评论建议使用这种技术,使测试类成为真正的类的朋友.

回想起来,这些技术对我来说应该是显而易见的.

我正在寻找的是专门的alpha测试/单元测试类的技术,而不会增加被测试类的重量.

您个人使用了哪些技巧并推荐?

c++ unit-testing

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

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

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

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

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

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

从Visual Studio 6中删除SourceSafe集成

最近,SourceSafe与visual studio的集成开始表现不佳,因为我们已经移动了,而SourceSafe"服务器"位于VPN上,经历了一个缓慢的连接.这使得在visual c ++ 6中加载大型项目需要5分钟以上,因为它必须与每个项目的"服务器"进行通信.此外,有一些错误在集成中是危险的(某些共享项目的自动检出将在分支文件的错误版本上获得最新版本).这导致我想要禁用SourceSafe集成,但是我没有找到任何菜单选项或卸载选项.谷歌已报告了一些注册表调整,但似乎没有一个工作.

有没有人知道从Visual C++ 6中删除SourceSafe集成的简单方法,而不是完全卸载SourceSafe?

visual-sourcesafe visual-c++-6 visual-studio

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

SIGSEGV,(貌似)由 printf 引起

首先,对于任何交叉发布,我们深表歉意。希望我不会在这里重复问题,但我无法在其他地方找到它(通过 Google 和 Stack Overflow)。

这是错误的要点。如果我打电话printfsprintf或者fprintf我的代码中的任何位置,显示浮动,我得到一个SIGSEGV (EXC_BAD_ACCESS)错误。让我举个例子吧。

以下抛出错误:

float f = 0.5f;
printf("%f\n",f);
Run Code Online (Sandbox Code Playgroud)

此代码不会:

float f = 0.5f;
printf("%d\n",f);
Run Code Online (Sandbox Code Playgroud)

我意识到那里有一个隐式转换,但我并不关心。我只是无法理解为什么打印浮点数与打印整数会引发错误。

注意:部分代码用于malloc创建一些非常大的多维数组。但是,这些打印语句没有以任何方式引用这些数组。这是我如何声明这些数组的示例。

#define X_LEN 20
#define XDOT_LEN 20
#define THETA_LEN 20
#define THETADOT_LEN 20
#define NUM_STATES (X_LEN+1) * (XDOT_LEN+1) * (THETA_LEN+1) * (THETADOT_LEN+1)
#define NUM_ACTS 100

float *states = (float *)malloc(NUM_STATES * sizeof(float));
// as opposed to float states[NUM_STATES] (more memory effecient)


float **q = (float**)malloc(NUM_STATES * sizeof(float*)); …
Run Code Online (Sandbox Code Playgroud)

c malloc printf segmentation-fault

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

有没有办法在SQL中否定WHERE子句?

这是我的基本查询

select distinct a.projects , case when(billing_fy!=0)
then(select round(((sum(cost_project)/(sum(billing_fy)/((10/12)*365)))),2) 
     from table1 b      
     where a.projects = b.projects 
     group by projects)
else 0 end as "WIP days outstanding"
from table1 a
Run Code Online (Sandbox Code Playgroud)

它会产生以下输出

Projects                        WIP days outstanding
History - AURANGABAD - NASIK    0
History - PUNE - MUMBAI         0
History - NASIK - MUMBAI        89.92
History - SASAGRAM - MUMBAI     0
History - SASAGRAM - MUMBAI     1386.52
History - AURANGABAD - MUMBAI   83.25
Run Code Online (Sandbox Code Playgroud)

现在我需要的是显示除第4行以外的所有行.我首先使用case语句的原因是因为如果我这样做(billing_fy!= 0子句是为了防止由除以0引起的错误)

select projects,
round(((sum(cost_project)/(sum(billing_fy)/((10/12)*365)))),2) as "WIP days outstanding"
from …
Run Code Online (Sandbox Code Playgroud)

sql oracle oracle11g oracle-sqldeveloper

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

调试代码块的宏

我试图创建一个宏,只有当它是一个调试版本时才执行代码块.我设法只在启用调试时才执行一行,但我无法弄清楚如何执行整个代码块.

一行宏如下:

#include <iostream>

//error checking
#if defined(DEBUG) | defined(_DEBUG)
    #ifndef DBG_ONLY
         #define DBG_ONLY(x) (x)            
    #endif
#else
    #ifndef DBG_ONLY
        #define DBG_ONLY(x) 
    #endif
#endif 



int main () {

    DBG_ONLY(std::cout << "yar" << std::endl);
    return 0;


}
Run Code Online (Sandbox Code Playgroud)

c++

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

您可以使用哪些技术来分析代码

我开发的一些平台没有分析工具.我正在寻找您个人用来帮助您识别热点的建议/技巧,而无需使用分析器.

目标语言是C++.

我对你个人使用的东西很感兴趣.

c++ profile profiler homebrew

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

Oracle从主表填充备份表

我当前分配给的程序要求在实际处理之前将表的内容复制到备份表.

在代码审查期间,一位同事指出了这一点

INSERT INTO BACKUP_TABLE
SELECT *
FROM PRIMARY_TABLE
Run Code Online (Sandbox Code Playgroud)

风险太大,因为表可能有不同的列和不同的列顺序.

我也受限于不创建/删除/重命名表.〜唉〜

表中的列预计会发生变化,因此简单地对列名进行硬编码并不是我正在寻找的解决方案.

我正在寻找合理的非风险方式来完成这项工作.

oracle copy

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

重构"极端"SQL查询

我有一个业务用户尝试编写自己的SQL查询以获取项目统计报告(例如任务数量,里程碑等).查询开始声明80多列的临时表.然后,在将近500行代码中,临时表中有大约70个UPDATE语句,每个代码都包含自己的一组业务规则.它使用临时表中的SELECT*完成.

由于时间限制和"其他因素",这种情况已经匆忙投入生产,现在我的团队仍然坚持支持它.性能是令人震惊的,虽然由于一些整洁,它很容易阅读和理解(虽然代码气味是令人讨厌的).

我们应该关注哪些关键领域,以加快速度并遵循良好做法?

sql refactoring sql-server-2005

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

代码优化

如果我有一个很大的结构(有很多成员变量).这个结构指针传递给我的代码中的许多函数.在几乎所有函数中,这种结构的一些成员变量经常被使用.

  1. 如果我将那些经常使用的成员变量放在结构声明的开头,它是否会优化MCPS的代码 - 每秒百万个周期(代码消耗的时间).如果我按时将频繁访问的成员放入,那么它们是否会被有效/更少地访问,而不是将它们随机地放在结构声明底部的结构中?如果是的话逻辑是什么?

  2. 如果我在某个函数中访问了一个结构成员,如下所示:

    structurepointer1-> member_variable

如果我将它分配给局部变量然后访问局部变量,它是否有助于在MCPS方面优化它,如下所示?

local_variable = structurepointer1->member_variable;
Run Code Online (Sandbox Code Playgroud)

如果是,那它有什么帮助?

c optimization

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