编程需要什么工具?

   发布日期:2024-11-02 08:42:44    
软件开发需要的工具和知识很杂,一般情况下包括:工具:你需要一个集成开发环境,主流的是Visual Studio。“集成”的意思是,它是很多工具的集合,主要包括:源代码编辑:你也可以用VIM,但是

软件开发需要的工具和知识很杂,一般情况下包括:工具:你需要一个集成开发环境,主流的是Visual Studio。“集成”的意思是,它是很多工具的集合,主要包括:

源代码编辑:你也可以用VIM,但是这个在Windows开发中非主流,用户多为从Linux过来的。

代码编译器:把源代码编译成可执行文件的工具,这其实也是一套工具,有编译代码的(如编译C#的csc),有编译资源的,有控制编译流程的工具(msbuild),有代码自动生成工具,有对程序集进行签名的工具。有兴趣可以看看Windows SDK。

代码测试工具:有知名的NUnit,其实Visual Studio也自带一套,而且比Nunit强很多,对UI测试有十分良好的支持。比如UI录制操作,用于回放测试。

源代码管理工具:Visaul Studio也有服务器端产品,叫Team Foundation Server,其中便有源代码管理的功能。当然,Visual Studio也可以与Git, Perforce, SVN等其它源代码管理工具集成。

Profiling 工具:对代码的运行进行动态分析,通过Hot Path分析性能瓶颈。

需求与变更管理工具:管理你软件上的Bug以用户提出的(哪怕是你自己想的)需求。有很多的开源替代品,但是Visual Studio Team Foundation Server有提供这个功能。

UI与UX设计工具:界面设计分原型设计(mockup)与界面开发。原型设计常用balsamiq。界面开发根据你使用的技术有所不同。如果使用MFC或是WinForm,基本上只能找专门美工画图。而简单地应用皮肤库,除了让你的界面眼花缭乱外,在UX上没有实质性的助益。如果使用WPF,微软有Expression Blend和Expression Design负责UX和与UI,是介于开发和美工中间的一类角色。

除了VS外,如果是多人开发一般还会需要搭建:

持续集成环境,常见的工具是TeamCity或是

http://cc.net

沟通平台,常见的是用Email和各种IM,还可以用Wiki或是SharePoint保存每个人的知识和分享。如果时髦些,可以搭一个Jive。

知识方面(假设已经是一个程序员):开发一个软件,比如QQ之前,你应该有一定的软件开发基础,但是并不需要先把所有需要的技术了解的一清二楚,没有那个时间,也没有意义。就算你知道你要做的东西需要算法知识,你需要把《算法导论》先拿来看一遍吗?开发软件最重要的,是对每个功能问出下面的问题:

要做什么?做成什么样?要达到怎么的效果?

要做到这些,存在哪些没有解决的问题?

有哪些

现有的技术

可以用来解决这个问题?

如何验证结果?

然后才是去了解那些需要用的技术去解决你的问题。

至于具体的知识

上面列出的工具要会用吧。

熟悉开发流程。这非常重要,比如Commit代码的流程,发布新版本的流程,什么时候做Branch。这些

不一定要正经地文档化,但是一定要在团队内部达成共识

,否则开发过程就是一片混乱。(人有可能觉得这和问题没直接关系,但是要知道现在的软件开发基本没有一个人进行的,一个人的叫玩玩,爱怎么搞怎么搞。)

软件销售。这决定了你的软件

1. 是否需要数字版权保护机制2. 是否需要接入支付体系

软件运营。这决定了你的软件

1. 是否需要技术支持?通过什么途径提供技术支持?2. 是否需要收集用户信息?收集什么信息?实名还是匿名?3. 是否使用第三方服务来降低运营和维护成本?(自己Host还是租?要不要使用GAE构建服务器端?)

当地法律。根据当地法律,你的软件,可能会被要求具有下列功能中的一部分:

1. 用户信息保护2. 敏感内容过滤3. 审查。(谁在用,用了哪些功能)有人可能觉会得上面这些点太大太泛,但这些的确是开发一款软件要考虑的事情,而且是一开始就要考虑的事情。没太明白题主具体到“Windows”的目的是什么。上面这些,无论是什么平台上的软件,都存在这些问题。Windows之于Linux或是Mac的不同,也就是使用的技术框架上有些差异,这些而差异对于程序员而言不应该是什么问题。因为原理都是一样的, 一样的算法,一样的TCP链接传数据,一样的数据加密,甚至可以做出一样的界面统一用户体验。(当然你也可以做得完全不一样。)

 
 
免责声明: 如果本站所选内容的文章作者及编辑认为其作品涉及版权问题,请及时用电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
本站未注明稿件来源:我爱网的图/文等稿件,均来自于互联网,目的在于传递更多行业信息,并不代表本站的立场和观点,仅供参考。他人从本网转载需自负版权等法律责任。本站部分内容来源于互联网,如有侵犯您的版权,请联系我们及时更正或删除。

推荐知识
点击排行
本站暂时不做友情链接,请勿申请!
友情链接