MS VC ++ 6类向导

时间:2020-03-06 14:51:48  来源:igfitidea点击:

好的,我正在开发一个应用程序,该应用程序从DOS中的C到各种风格的C ++,在过去16年中一直在持续发展,现在主要基于带有MFC和StingRay GUI以及各种其他SDK的C ++。

虽然我将VS 2005用于发行版本,但我仍将MSVC 6用于大多数GUI构建,这仅仅是因为ClassWizard在这种环境下比随后的弱等效工具要快得多。请注意,我正在使用ClassWizard为自己的用户定义类型自动生成代码(请参阅自定义DDX),并且我想一次性添加很多成员变量和方法。对我而言,根据Visual Studio的更高版本一次创建一个是一个很大的后退。同时,使用多个IDE也很麻烦。

我的问题分为两个部分:

  • VS 2005或者VS 2008有什么方法可以使ClassWizard正常工作吗?
  • 是否有替代品或者替代IDE下降,可以为像我这样的老C ++黑客提供类似水平的生产率?

解决方案

我建议完全避免代码生成,并使用我们喜欢的编辑器手动创建新代码。如果我理解正确,那么我们是该领域的专家,并且我确定我们知道手动创建的代码将比生成的代码更简洁,更简单。
另外,代码生成器是代码审查的噩梦,它更改了无数位置,根本不应该更改,并且很难集中精力进行有意义的更改。
恕我直言。

我还建议我们将必要的DDX / DDV(以及消息处理)宏(和成员变量)手动放入类中。起初,要弄清楚应该如何以及在何处写入条目似乎有些困难,但是过了一会儿就很容易了。在将VC6项目移植到VS2005之后,我开始这样做,并且出于与我们给出的完全相同的原因:没有合适的替代品ClassWizard。但是,两年之后,我可以说我再也不会错过它了。

对感兴趣的人进行跟进。可以从Tarek Madkour [VC ++ Team]在VS2010中重新引入ClassWizard。

'We are considering adding the Class
  Wizard back to VS10. We hope this will
  make DDX/DDV function creation more
  keyboard-centric just like it was in
  VC6. There are some schedule
  challenges that we will need to
  overcome to get the feature done, but
  I am optimistic that you will see it
  when we ship VS10.'

点击这里查看完整的讨论

编辑:VS2010的发行说明确认MFC类向导又回来了。因此,与流行的看法相反,MS的人员确实会听取用户的声音。

Visual Studio 2010 provides a C++ IDE
  experience that includes the return of
  the MFC Class Wizard, the ability to
  view large source files through Source
  Outline, integrated quick searching to
  find information without the confusion
  of the current “Find In Files” method
  and an easily extensible IDE model
  through the new Managed Extensibility
  Framework (MEF).

我们可以在窗体上的控件上单击鼠标并添加变量或者事件处理程序。它不如VC6好,但仍然如此。我看不到手动编写DDX的任何意义。

同意Shane的意见,vs2008中的CW替代方案非常差。它使我们想知道Microsoft是否有人仍在使用MFC。我只是因为afx / mfc集成普遍不佳而开始提高我的估计。它只是还没有完成,还有很多越野车。当然,我们可以手工编写代码,没有人声称自己的代码很难但很认真,它的咕gr的代码,2010年,我们现在不应该再手动编写这些东西了。