第八件:对C++标准的支持
Visual Studio 6对C++标准的支持不够完善,这是天下众程序员皆知的事情。可以说,这是Visual Studio 6的一大顽疾,大家都在抱怨它对C++标准支持不够完善,同时添加了很多自己的扩展,这使得我们所使用VS6开发的应用程序根本没有什么可移植性可言,原本在Windows平台上运行得好好的应用程序,一旦移植到其他平台上,连编译都没法通过。又得另起炉灶,重来一遍,真是劳民又伤财。
VS2010作为VS6的后辈,当然会吸取这个教训了。从一开始,VS2010就对C++标准提供了完善的支持。从编译器和程序库两个方面,VS2010都全面支持C++的最新标准C++0x,让程序员们可以利用VS2010轻松编写更好的更加现代的C++程序。例如,对auto和decltype关键字的支持,让C++具有了某些动态语言的特性,程序员不再费脑子去推断某个变量的类型,这些都交给编译器去完成了;对右值应用的支持,极大地提高了标准模板库(STL)的性能;对Lambda表达式的支持,让我们的代码更加简洁流畅。特别是Lambda表达式配合PPL使用的时候,我们可以使用Lambda来表示一个Task,让并行计算的开发更加简单,得心应手。
第九件:我们都说UML
VS6的时代,在一个项目中,各种角色所说的话是不一样的:使用Rose或者Viso的架构师用各种各样的图表来描述系统的架构,而使用VS6的程序员更容易理解的是实际的代码。当架构师用画好的UML图向程序员描述整个系统架构的时候,程序员往往会因为不熟悉架构师的语言或者表述方式,而对系统的架构有所误解。这就像两个说着不同语言的人,产生误解是难免的事情。这一切都源于VS6不懂UML。
这一切在VS2010中成为了历史,现在VS2010也懂得了UML。在Visual Studio 2010中新增加了一个项目模板,叫做“建模项目”,通过这个模板,我们可以快速创建一系列UML图,目前可以创建UML 2.x 13个图中的5个,另外还可以创建层图和有向图(.dgml)。
Visual Studio 2010中的UML图
在架构管理方面,VSTS 2010通过新的架构浏览器(Architecture Explorer)和架构层图(Architecture Layer Diagram),以图形化的方式描述系统架构,从而使得项目中的技术人员或非技术人员都能以模型透过图形化的方式进行协作,以及定义企业与系统功能。
现在,架构师可以使用VS2010中的UML来描述系统的各种行为,而程序员也能够很直接地在VS2010中浏览架构师所使用UML描述的系统结构,并用编程语言将它们实现。这样,当架构师和程序员都在说同一种语言的时候,团队中的沟通就更加顺畅了。不像VS6仅仅是程序员的工具,现在,VS2010不仅受到程序员的欢迎,同时也成为架构师的最爱了。