编程需要什么工具?

编程需要什么工具?,第1张

软件开发需要的工具和知识很杂,一般情况下包括:

工具:

你需要一个集成开发环境,主流的是VisualStudio。

“集成”的意思是,它是很多工具的集合,主要包括:

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

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

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

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

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

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

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

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

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

p>。

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

知识方面(假设已经是一个程序员):

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

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

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

有哪些

现有的技术

可以用来解决这个问题?

如何验证结果?

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

至于具体的知识

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

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

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

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

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

1.是否需要数字版权保护机制

2.是否需要接入支付体系

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

1.是否需要技术支持?通过什么途径提供技术支持?

2.是否需要收集用户信息?收集什么信息?实名还是匿名?

3.是否使用第三方服务来降低运营和维护成本?(自己Host还是租?要不要使用GAE构建服务器端?)

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

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

常用的写代码软件有以下几个:

1、WebStorm。WebStorm是jetbrains公司旗下一款JavaScript开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScriptIDE”等。

2、SublimeText。SublimeText是一个代码编辑器也是HTML和散文先进的文本编辑器。

3、HBuilder。HBuilder是专为前端打造的开发工具,具有飞一样的编码、最全的语法库和浏览器兼容数据、可以方便的制作手机APP、最保护眼睛的绿柔设计等特点。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11484668.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存