编程需要什么工具?

编程需要什么工具?,第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链接传数据,一样的数据加密,甚至可以做出一样的界面统一用户体验。(当然你也可以做得完全不一样。)

这个就非常多了,下面我以常见的编程开发软件和数据库管理软件为例,简单介绍几种,感兴趣的朋友可以尝试一下:

01

编程开发软件

这个要看具体编程语言了,不同语言开发工具自然不同,这里以常见的C/C++、Java和Python为例,简单介绍3种比较常用的软件:

C/C++:VisualStudio

这是Windows平台下一个非常专业的集成开发工具,号称宇宙第一IDE环境,不仅仅只是C/C++,常见的C#、VB等编程语言,这个软件都能很好支持,智能补全、代码高亮、语法检查等功能非常不错,除此之外,还支持单元测试、代码重构和分析等高级功能,因此非常适合大型项目开发和维护:

Java:IntelliJIDEA

这是一个非常专业智能的Java开发工具,在企业和个人桌面中,有着非常高的使用率和欢迎度,自动补全、语法提示、代码高亮等功能非常不错,除此之外,还支持JUnit、CVS整合、代码重构等高级功能,自带有Maven和Gradle构建工具,因此更适合Java项目开发和维护,个人使用起来非常不错:

Python:PyCharm

这是一个非常专业的Python开发软件,和IntelliJIDEA一样,Jetbrains公司的产品,在业界非常流行、受欢迎,智能补全、代码高亮、语法提示等功能非常不错,除此之外,还支持代码重构和分析、单元测试等高级功能,因此更适合大型项目,个人使用来说,也非常简单,很容易上手和掌握:

02

数据库管理软件

这个就非常多了,不同数据库都有专门的管理软件和工具,这里简单介绍3个比较通用的数据库管理软件,分别是HeidiSQL、DBeaver和DataGrip,对于日常使用来说,非常不错:

HeidiSQL

这是Windows平台下一个非常轻巧灵活的数据库管理软件,基于Delphi开发而来,目前支持MySQL、MariaDB、MSSQL、PostgreSQL等主流数据库,常见的建库建表、视图索引、触发器等基本功能,这个软件都能很好兼容,除此之外,还支持SQL脚本导入导出、数据备份恢复等功能,对于日常数据库管理来说,非常不错:

DBeaver

这是一个基于Java开发的数据库管理软件,免费、开源、跨平台,目前支持Oracle、MySQL、PostgreSQL、SQLServer等十几种主流数据库开发,建库建表、视图索引、触发器、存储过程等基本功能都可轻松查看和设计,数据库导入导出、数据恢复备份等功能也都非常不错,对于日常数据库管理和维护来说,是一个非常不错的工具:

DataGrip

这也是一个通用的数据库管理软件,Jetbrains公司的产品,支持跨平台,但原则上针对个人不免费,常见的PostgreSQL、MySQL、Oracle等数据库,这个软件都能很好支持,数据导入导出(恢复备份)、智能代码填充、版本集成控制等功能非常不错,对于日常数据库管理来说,也是一个不错的工具:

目前,就分享这几个不错的编程开发软件和数据库管理软件吧,当然,还有许多其他软件,像VMware、Git、Axure等也都比较常用,看自己涉及的领域了,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

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

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

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

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


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

原文地址: http://outofmemory.cn/yw/11328746.html

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

发表评论

登录后才能评论

评论列表(0条)

保存