您的位置:首页 > 其它

微软Silverlight视频教程(6)

2008-06-17 16:36 351 查看
在软件开发过程中,除了用到vc等编译器之外,我们还经常使用一些辅助工具来提高工作效率,下面介绍我用过的一些工具,权当抛砖引玉了。

Beyond Compare ,这是个文件和文件夹对比工具,可以很方便的对比出两个文件夹或文件之间的差别,在差别处会用不同的颜色标示出来。在软件开发中有两个典型的应用场景,一个是比较同一文件不同版本之间的差异,以此来定位由版本差异引入的问题;另一个是,在有些软件项目中会在主版本上建立分支版本来支持不同的需求,在合并时,虽然版本管理工具会提供合并功能,但往往会出现冲突,这种情况下就需要手工合并,Beyond Compare就能派上用场了。Beyond Compare也在发展,功能越来越强大,现在的版本除了文本比较,貌似还能比较mp3、图片等,有兴趣的同学可以研究研究。

UltraEdit,一个好用的文本编辑器,比windows的notepad强多了,除了作为notepad的替代品,还能是编写代码,支持主流的编程语言,c/c++、java、perl等等。在跨windows/unix平台开发时,如果初期对unix下vi掌握的不是很熟练的情况下,可以用ultraedit在windows上编写好代码ftp到unix进行编译调试。同时因为vi没有语法着色功能,代码分析和查错就会麻烦些。UltraEdit能很好的对代码进行语法着色,同时能以ftp方式工作,这为跨平台开发提供了便利。以前用ultraedit写过一个perl的统计代码中魔数的小工具,还集成到vc中了,还高兴了小半天。

SourceCounter,这个是无需安装的绿色程序,用来统计源代码的,支持c++、java、php、c#等语言,能对文件夹进行递归统计。统计结果包括,文件个数、大小、代码行数、注释行数等,常用来计算注释比例,看看是否达到30%。新版本中还能根据设定的质量目标和成本参数来得出测试用例数、缺陷数和人月等成本。

Source Insight,这是个好东西,以前主要用它来分析源代码结构,vc等编辑器也有转到定位等导航功能,但比之Source Insight就是小巫见大巫了,Source Insight的查找、定位、彩色显示非常强大,它会生成自己的高性能的符号库,包括类、结构、变量、函数等等,这是快速导航的基础。当你维护一个代码结构复杂的项目时,它能辅助你快速的理清代码间的关系,提高解决问题的效率。

IncrediBuild,分布式编译工具,编译大型软件是个漫长的过程,怎样来提高编译速度呢?用分布式编译工具就可以做到。原理很简单,就是将整个编译工作通过计算后分配到网络中的多个计算机上执行。这样一来,编译速度会有数量级上的提高。具体到IncrediBuild的工作原理就是:在网络中有个机器做服务器,其他机器安装客户端,服务器接收到一个客户端的编译请求后,就根据所有其他客户端的资源情况调度安排编译任务。

PC-Lint,是个静态代码检测工具,用来做代码审查再好不过了,虽然编译器会检查语法,可严格程度不高,编译器中的waring在PC-Lint中或许就是个error,PC-Lint可以检查出那些虽然完全合乎语法要求,但很可能存在潜在的、不易发现的错误,PC-lint主要用于检查
c/c++代码,支持VC,VC.net等编译器。

VMware,虚拟软件,它可以虚拟出新的计算机,可以在虚拟的计算机上安装Windows、Linux等操作系统。使用VMware将使得用户象拥有多台电脑一样,典型的用途是跨平台开发或多平台开发,比如你的服务器是基于linux,而客户端是基于windows,那么我们可以搭建一个环境,在一台windows的机器上装个linux虚拟机,这样节省了硬件资源,而且在两个系统间切换变的很容易,有利于提高开发和调式效率。

Visio,微软的一个图表制作工具,用来画流程图、时序图等等,很久没用了,不知道现在
版本变成什么样子了。

版本控制工具,我在工作中使用过三种,分别是vss、cvs、clearcase。
vss主要采用独占模式工作,只用于windows平台,在局域网环境使用,能和vs系列的工具无缝结合,可在vs工具中直接做签出签入等操作,不过在项目的代码量比较大的情况下结合使用会导致打开工程的速度会大大降低。
Cvs,支持windows、linux等平台,能在局域网和广域网使用,一般不采用独占模式,用户可修改在自己权限内的代码,且不会单独占用,也就是说其他有权限的用户也可修改代码,这样可能会导致多人修改代码后提交时,会造成冲突,这时需要合并。如果一个项目中有基于多个操作系统的代码,且代码又有共享关联关系,那么可以使用cvs作为的版本管理工具,
而且是免费的哦。
Clearcase,是IBM的产品,支持windodws、solaris等平台,IBM会提供完善的支持。Clearcase是个强大且复杂的东西,我使用过的也就是其中的基本功能,印象最深的应该是多个分支并行开发管理,提供比较、合并功能很强大,比如一个bug在各个分支都存在,那么我们先在一个分支中修改,然后把修改后的代码和其他分支进行比较合并,这样高效又安全。

rational purify,优秀的内存问题检查工具,使用c/c++开发的人大都遇到过内存泄露问题,特别是代码量大的时候,要靠人工检视代码来查找内存泄漏那是相当痛苦的,这时purify简直就是福音。这是个运行时工具,大概的步骤是,先配置好purify环境,然后编译好你的程序,然后把你的程序放在purify中跑,保证你程序运行尽可能的覆盖到所有代码,然后结束程序运行,这样purify最后会给出一份内存报告,报告会指出有内存问题代码的位置。我在windows和solaris上使用过purify,感觉真不错。和purify同一系列的工具还有Quantify和PureCoverage,Quantify主要用在优化程序的时候,它可以分析出函数的执行时间、调用次数等,开发人员可根据分析报告,对调用次数多且执行时间长的函数进行优化。PureCoverage这个是个代码覆盖检查工具,我没怎么用过,有兴趣的盆友可以了解下。

Boundschecker,这也是个内存问题检查工具,前段时间在用vc2003做一个的项目,在调试状态下运行退出时,Output窗口会提示memory leak信息,这些信息当然也可以帮助查出内存泄漏的代码,但比较麻烦,我顺手装了个Boundschecker,Boundschecker能很好的集成到VC中,选FinalCheck工作方式,充分运行程序后终止运行,Boundschecker会给出报告,根据报告,我解决的内存泄漏问题,Output窗口不再有memory leak信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: