free software collection
为了降成本,除了不可抗拒的Windows是必须要买之外,其他的软件,都应该尽量使用免费甚至开源的替代品,从一开始就彻底解决软件license的问题。因为我个人作为一名Windows桌面应用开发人员的身份,所以考虑的重点,将有比较严重的偏向。本文将不定期更新。
StarUML 这个用Delphi写的东东功能可能没有Rational Rose那么强悍,但画个类图、顺序图什么的足够了,而且体积也不大,据说是个韩国人开发的。
XMind 思维导图,我有一段时间觉得用思维导图来描述一件不是很规范的事情,是比较好的方式,比纯粹的文字要形象清晰,比UML之类的又要随意而贴近大脑的思维过程和方式。
CruiseControl 持续集成这东东我对它喜欢得不得了。这也是个基于Web的东东,它依赖Apache和ANT,在它的帮助下,通过自己编写XML格式的脚本,可以让它自动轮循或定时从版本控制系统里取下最新的代码,进行编译,然后压缩,再打成安装包,还可以继续打成压缩包,再执行自动化测试任务,最后生成测试报告。因为它是脚本控制,全自动的哦,如果你的电脑可以不关机,让它每天后半夜三四点的时候自动处理一把,早上起来看一下结果,岂不是很cool!
MinGW,本来呢,在Windows下写C/C++程序似乎用VC是王道,可是咱追求的是完全无顾虑的license方案,虽然也有一些其他的诸如OpenWatcom之类的选择,但最后还是投奔MinGW了,因为这样一来,也为以后跨平台减少点阻碍。
bjam 构建系统也是有很多的,最流行的大概是make了吧,不过我当时嫌学gcc的命令行参数太麻烦,就偷了个懒,对于跨编译器,跨操作系统,它也是个勉强够用的选择。
MediaWiki 存储项目文档,当年听到一微软的哥们介绍说他们公司用wiki来存储项目文档,我觉得是个不错的主意,方便共享。虽然wiki程序也有很多种,但我想了想,wikipedia这么大的网站都用它来建站,还有什么好考虑的。
Redmine 缺陷跟踪管理,作开发,肯定会要管理跟踪bug的,以前试过mantis和trac,最后还是觉得Redmine更讨人喜欢点,没有其他原因。
SVN 版本控制当然用SVN了,开源世界当前最推崇的版本控制系统,TortoiseSVN把功能都集成到Shell扩展上了,在资源管理器里点右键就能操作,而且如果是一个人的话,都不需要建服务器,直接在本地建个仓库就能使用。其实VSS也挺好用的,简单易上手,而且与VC集成得挺好,不过有些情况,它的自动合成有些问题…… 但是SVN在项目文件一多时,性能变得很差,以后如果可能,考虑一下诸如Git之类的分布式版本控制系统。
doxygen 源代码文档生成,也就是在写代码时,添加进一些规定格式的注释,到时候运行一把doxgen,它就能生成图文并茂的文档了,以看到模块、文件等的依赖关系什么的,还能以多种格式输出,不过这样的活动似乎是开源的项目才用得比较多……
InnoSetup,打包工具也挺多的,我现在用Inno Setup,它用Pascal的脚本,还可以调用Windows的API,所以对于小小的共享软件来说,绝大部分情况下是够用了。
CTeX 用户文档写作。这个东东,开始觉得比较难用,最后也只是用了其中一小部分功能而已,主要是排版比较精确,一旦完成了初稿,之后再修改就不容易乱了。Word刚好相反,开始觉得很好用,但格式一多,再修改,就很容易乱。最主要的是,用它可以方便地转成PDF,这是我最需要的。如果是面向普通用户,可能和html和chm是比较好的选择,对于较专业的用户,用PDF是不错的选择。现在TeX领域也开始竞争激烈起来了,XeTeX就是比较显眼的一个候选,但是这东东,好不容易有点上手了,暂时实在没心情再去换一种。
Graphviz 我只是用到有向图生成这部分功能,这个软件集有更多的功能,它的好处在于方便自动化,可以自己写程序生成输入,再用它生成有向图。
GNUPlot 数据统计分析图生成,好处跟Graphviz一样,呵呵。
Gimpshop,偶尔还是要处理点图片的,比如拼个logo,改个icon等等,话说GIMP是开源界最接近Photoshop水平的作品了,而Gimpshop则是在GIMP的基础上修改了一下菜单得外观选项,使它表现地更像Photoshop,值得收藏。
Serna Free,我其实是很喜欢XMLSpy那种样式的XML编辑器的,但免费的软件中好像找不到类似的,用Serna Free也是迫不得已,功能不多,而已有功能和界面又显得太花哨。
写GUI程序,图标是经常要用到的资源,无论自己有没有专业的美工技能,一个不错的图标编辑器是必不可少的。Greenfish Icon Editor Pro的界面有点像Photoshop了,功能也不错!还有个叫IcoFx的,也挺好的!
SciTE-Ru,话说,Emacs和vi这两大神器,我天资愚笨用不惯,另外又试用过notepad++,SciTE,PSPad等等一堆的免费或开源的编辑器,也是或多或少地不爽!其实我的要求非常简单,就是UltraEdit早期运行速度还算不慢的版本那种样子,当然得完善处理中文字符。现在发现Scintilla已经通过多块选择和虚拟空格,把列编辑模式做得跟UltraEdit很接近了,而SciTE-Ru在一些细节处理上要比官方的SciTE更仔细一些,所以就选它了。

在
在
在
在