小编Tho*_*hel的帖子

布尔作为方法论证是不可接受的吗?

我的一位同事表示,布尔作为方法论据是不可接受的.它们应由枚举代替.起初我没有看到任何好处,但他给了我一个例子.

什么更容易理解?

file.writeData( data, true );
Run Code Online (Sandbox Code Playgroud)

要么

enum WriteMode {
  Append,
  Overwrite
};

file.writeData( data, Append );
Run Code Online (Sandbox Code Playgroud)

现在我明白了!;-)
这绝对是一个例子,枚举作为第二个参数使代码更具可读性.

那么,您对此主题有何看法?

enumeration boolean coding-style

122
推荐指数
10
解决办法
6945
查看次数

如果你无法解决错误,你会怎么做?

你的代码中有没有错误,你无法解决?我希望我不是那里唯一一个有这种经历的人......

存在一些类别的错误,很难追查:

  • 与时序相关的错误(例如,在进程间通信期间发生)
  • 与内存相关的错误(大多数人都知道适当的例子,我猜!!!)
  • 与事件相关的错误(难以调试,因为您遇到的每个断点都会使您的IDE成为鼠标释放/焦点事件的目标......)
  • 依赖于操作系统的错误
  • 硬件相关的错误(发生在发布机器上,但不发生在开发人员机器上)
  • ...

说实话,我不时自己修复这样的错误......经过几个小时(有时甚至是几天)的调试后,我觉得非常士气低落.

在这种情况下你做了什么(除了向别人寻求帮助之外并不总是可行的)?

你呢

  • 使用铅笔和纸而不是调试器
  • 面对另一件事,稍后再回到这个bug
  • ...

请告诉我!

debugging

33
推荐指数
6
解决办法
7773
查看次数

你对成员变量使用什么样的前缀?

毫无疑问,理解代码必须给成员变量一个前缀,这样才能很容易地将它们与"普通"变量区分开来.

但是你使用什么样的前缀?

我一直在研究我们使用m_作为前缀的项目,在我们仅使用下划线的其他项目上(我个人不喜欢,因为下划线只是不足以说明).

在另一个项目中,我们使用了一个长前缀形式,它也包含变量类型.mul_例如是u nsigned l ong 类型的m ember变量的前缀.

现在让我知道你使用什么样的前缀(请给出一个理由).

编辑:大多数人似乎没有成员变量的特殊前缀代码!这取决于语言吗?根据我的经验,C++代码倾向于使用下划线或m_作为成员变量的前缀.其他语言怎么样?

naming coding-style naming-conventions member prefix

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

查找由智能指针引起的内存泄漏

有没有人知道发现智能指针引起的内存泄漏的"技术"?我目前正在开发一个用C++编写的大型项目,该项目大量使用带引用计数的智能指针.显然我们有一些由智能指针引起的内存泄漏,它们仍然在代码中的某处被引用,因此它们的内存不会被释放.很难找到带有"不必要"引用的代码行,导致相应的对象不被释放(尽管它不再使用).

我在网上找到了一些建议,建议收集参考计数器的递增/递减操作的调用堆栈.这给了我一个很好的提示,哪一段代码导致参考计数器增加或减少.

但我需要的是某种算法将相应的"增加/减少调用堆栈"组合在一起.在删除这些调用堆栈之后,我希望(至少)剩下一个"增加调用堆栈",它向我显示带有"不必要"引用的代码段,这导致相应的对象不被释放.现在修复泄漏没什么大不了的!

但有人想知道进行分组的"算法"吗?

开发在Windows XP下进行.

(我希望有人理解,我试图解释......)

EDIt:我说的是循环引用造成的泄漏.

c++ pointers memory-leaks smart-pointers

18
推荐指数
2
解决办法
9934
查看次数

你使用什么样的UML图?

UML2提供不同类型的图表.到目前为止,我只使用了类图.

你使用什么样的UML图?您为软件项目的设计和文档推荐了哪些图表?

uml diagrams

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

您是否对代码中的错误修复使用了特殊注释?

我的一些同事对其错误修复使用了特殊评论,例如:

// 2008-09-23 John Doe - bug 12345
// <short description>
Run Code Online (Sandbox Code Playgroud)

这有意义吗?
您是否以特殊方式评论错误修复?

请告诉我.

comments

17
推荐指数
3
解决办法
2420
查看次数

如何解释代码度量(由SourceMonitor计算)

在阅读了"计算代码指标"问题的答案后,我安装了工具SourceMonitor并计算了一些指标.

但我不知道如何解释它们.

指标的"好"值是多少?

  • "分支声明百分比"
  • "每班的方法"
  • "每种方法的平均声明"
  • "最大方法或功能复杂性"

我在文档中找不到任何提示,有人可以帮助我吗?

metrics source-monitor

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

如何避免堆碎片?

我目前正在开展一个医学图像处理项目,需要大量的内存.我可以做些什么来避免堆碎片并加快已经加载到内存中的图像数据的访问速度?

该应用程序是用C++编写的,可以在Windows XP上运行.

编辑:应用程序使用图像数据进行一些预处理,如重新格式化,计算查找表,提取感兴趣的子图像...应用程序在处理过程中需要大约2 GB RAM,其中大约可以使用1.5 GB对于图像数据.

heap performance memory-management fragmentation

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

实现功能与错误修复

我感兴趣的是,与修复错误相比,您在实施新功能上花费了多少时间.

debugging

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

您使用什么工具/格式来编写规范?

我想知道您用什么样的工具来编写规范.我认为使用支持某种纯文本格式的工具是至关重要的,这样就可以使用像SVN这样的源控制系统来控制规范.对于代码的规范,重要的是要有所有更改的历史记录.

目前,我们以XML格式编写规范.TeX也是一种替代方案,但对于那些从未使用过它的人来说很难.

因此,请告诉我,您使用哪种工具或格式进行规范.

specifications

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

如何在Visual Studio 2005中自定义语法突出显示?

是否可以在Visual Studio 2005中自定义语法突出显示?到目前为止,我没有办法做到这一点.

例如,在eclipse中,可以设置自定义突出显示.

syntax-highlighting visual-studio

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

Qt定制款式

有没有人在Qt中建立自定义风格的经验?我的想法是一种影响各种小部件的全新风格.我在网上看到了一些自定义组合框的例子.但我不知道建立一个"完整的"新自定义样式需要多少时间和代码...也许有人可以给我一个提示.

我们考虑使用Qt 4.3(甚至更新)......

qt widget

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

如何在Visual Studio 2005中获得完整的调用堆栈?

如何获得使用Visual Studio 2005开发的c ++应用程序的完整调用堆栈?我想有一个完整的调用堆栈,包括系统库中的代码.

我是否必须在Visual Studio中更改某些设置,还是必须安装其他软件?

c++ debugging callstack visual-studio visual-c++-2005

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