有哪些工具可以帮助程序员编写代码(开发)?

那么程序员开发的领域,惯用的IDE和插件是不一样的。由于不同业务的程序员有着不同需求,所以对IDE和插件需求不一样。这款插件是真正的「帮助程序员写代码」。【适用对象:开发应用和用Unity的程序员】有的程序员会更倾向轻量级的IDE,然后通过插件自己搭配一个适合自己的工具。【适用对象:游戏开发程序员】...

本文适用于初学者,但也有一些老手可以使用的插件。这个答案试图帮助您在一篇文章中涵盖各个领域的开发工具。

看到标题我的第一反应,不就是各种IDE吗?但毕竟我从高中开始写代码十几年了,甚至在DOS系统下也写过,纯手工输入代码。过去的十年可以说见证了各种 IDE 的兴衰。所以,我打算根据这些年来IDE的变化,总结一下过去好用和现在好用的IDE。当然,仅总结 IDE 是不够的。结合不同的开发需求,推荐一些有用的插件。

0. 程序员开发概述

虽然统称为程序员,但要知道程序员和程序员的工作差别是非常大的。在某个领域非常强的程序员可能会换个领域,不得不向新人学习。当然,一般情况下,A领域强的程序员,学习能力强。虽然技术不同,但写代码的“道”是一样的。去B领域会比普通程序员快很多。

所以在程序员开发领域,习惯的IDE和插件是不一样的。如果要对程序员进行分类,大概是这样的(只是列举程序员的多样性,并不详尽):

由于不同业务的程序员有不同的需求,所以他们对IDE和插件的要求也不同。比如客户端需要可视化,服务端需要单元测试和压力测试,游戏开发需要展示帧率等性能。下面的描述可能有点重叠,但我尝试用“IDE/插件->适用组”的思路来扩展描述。在介绍IDE或者工具的时候,我也会介绍一些适合这个IDE的好用的插件。

1. 版本控制工具

【适用对象:所有程序员】

介绍这么详细的介绍,其实我有点犹豫。毕竟我已经点了这个问题,说明读者对程序员的开发过程至少了解有限。我相信 90% 的人都了解版本控制。但是为了照顾新手,也为了让这个答案覆盖到每一个角落,还是介绍一下吧。

所谓版本控制,就是记录你每次提交的代码改动。如果您确定您的代码已经完成,您可以提交一次记录。如果您发现您的代码被更改了,您也可以从之前的记录中恢复它。

业界常用的版本控制工具git和svn。

↳1.1 SVN(全名)

之所以先引入 SVN,是为了突出 git 的好处(哈哈哈哈)。但是SVN并没有死。我在 2013 年到 2016 年做游戏开发的时候,有几家公司在使用 SVN。主要是为了统一流程,因为art也使用SVN来管理art资源,而art没有使用git等分布式系统,不适用。

SVN 的优点是简单易用。毕竟是中心化的。添加提交涉及的步骤要少得多,因为没有拉/推操作。

但一个明显的缺点是它不能支持离线操作。比如写完一个函数,发现网络不通,无法提交版本。如果您此时继续更改其他代码,您可能会破坏您所做的工作。如果你不改变它,为什么还要等待?git中不存在这种问题

↳1.2 Git

git 是一个分布式版本控制软件。前面提到svn不支持离线操作,git中不存在这个问题。可以在本地保存n个版本,然后git push到远程仓库。

关于远程存储库,有不同的选项,例如

adobe photoshop软件免费下载_adobe软件中用编程的_adobe声音处理软件

↳2. 基于 IDEA 的 IDE

【适用对象:很广】

IDEA是由(简称.....是的,如你所想)软件公司开发集成开发环境工具软件,这家公司还是很强的,我们来看看这一系列IDE:

它的 UI 看起来像这样,非常方便。

基于IDEA的各种IDE也是目前最流行的IDE,其应用涵盖了开发、开发、Java开发、Web开发等诸多领域。这里就不一一介绍了,大家看上图就知道它们是干什么的了。这里只有两个:

↳2.1

【适用对象:程序员】

图标如下所示:

它是一款强大的跨平台编辑器,可以帮助用户提高语言开发效率,具有调试、语法高亮、管理、代码跳转、智能提示、自动补全、单元测试、版本控制等特性。

↳2.2

【适用对象:程序员】

和之前一样,由于是基于IDEA,所以还具备调试、语法高亮、管理、代码跳转、智能提示、自动补全、单元测试、版本控制等功能。当然,对可视化 UI 的支持是必须的。

图源官网↳2.3个基于IDEA的IDE的好用插件

2.3.1

在编写复杂的条件时,嵌套括号对程序员来说是一件痛苦的事,每次都必须计算它们以确保代码正确。

并且很好的解决了这个问题。安装也很简单。比如我用的话,可以直接搜索下载安装。

当然,括号问题实际上是代码规范问题,但是对于那些需要编写复杂公式的人来说,使用彩虹括号,公式看起来要好得多。比如我公司的括号很长而且很多,如果没有彩虹括号,真的很头疼。

2.3.2

这个功能其实类似于(后面介绍)或者Xcode(后面介绍),这个插件可以在你的编辑器中嵌入代码缩略图。

来源:

2.3.3

这个插件是真正的“帮助程序员写代码”。是一个基于人工智能的代码完成插件。与普通代码补全不同,此插件使用机器学习对数百万个代码片段(Java 等)根据上下文建议补全代码。官方demo如下

来源:

3. 基于 IDE

【适用对象:很广】

一开始不想谈这一段,但说到IDEA,难免会想起曾经的王者。这是我学习的时候用的最多的,现在用的人越来越少了。

adobe photoshop软件免费下载_adobe软件中用编程的_adobe声音处理软件

早期从事开发的人都用过,还是比较经典的。它在Java IDE领域占据主导地位多年(但IDEA拥有更好的用户体验)。类似于IDEA的定位,是一个大而全的IDE。基于的IDE是:

我不会在这里列出它们,但仍然有很多。

4. Xcode

[适用于:iOS和macOS软件程序员]

图标看起来像锤子,所以我就不在这里贴链接了,因为这个软件你需要用mac电脑去App Store下载

5.

【适用对象:开发应用和使用Unity的程序员】

我最后一次使用 VS 是在 2016 年。VS 是目前最强大的 IDE 之一。VS是一套基本完整的开发工具,包含了整个软件生命周期所需的大部分工具,比如UML工具、代码控制工具、集成开发环境(IDE)等等。

我使用 VS 和 Unity(如下所述)进行游戏开发。VS的界面很舒服。几年前的UI即使在2020年也非常人性化。VS的最新版本是2019年。从官网的demo gif可以看出,新的VS比之前的版本更智能。

说到VS,很多程序员会想到另一个IDE:VS code。很快就会谈到它。

6.其他轻量级 IDE

前面提到的IDEadobe软件中用编程的,不得不说,太重量级了。功能大而全的缺点是安装包大,启动时间长。有些程序员会更喜欢轻量级的IDE,然后使用插件来匹配适合他们的工具。

↳6.1个代码(简称VS代码)

【适用对象:很广,推荐给有一定经验的程序员】

这是微软在 2015 年发布的,历史很短。这是微软第一次为开发者提供真正的跨平台编辑器。虽然它们被称为“”,但 VS Code 比 VS 轻得多。目前,越来越多的人使用编码。凭借免费、开源、轻量级、跨平台的特点,获得了一大批忠实粉丝。

adobe声音处理软件_adobe photoshop软件免费下载_adobe软件中用编程的

↳6.2 文本

【适用对象:很广adobe软件中用编程的,推荐给有一定经验的程序员】

文本非常相似,但它诞生于许多年前。

↳6.3++(坚决抵制!!!)

【适用对象:无,坚决不使用】

我写这个工具,不是给大家用的,而是给大家抵制的!这是正确的!为什么抵制这个工具?我真的不想参与非技术性的东西,但如果不是 ++ 开发人员先拿起它,我不想写这个。如果不明白怎么回事,可以去这个issue看问题描述。

反正本来就是个过时的东西,结果开发商还是背着私货跳到那里去,帮上忙是可笑的。

我查了一下开发商,侯金武,台湾人。一切都明白了。说实话,我真的很鄙视软件里这种背私货的人。在开源社区带私货就像带臭豆腐去图书馆吃一样。你觉得好吃,别人觉得恶心。

如果它有用,而且我现在才知道,我建议卸载它并用其他工具替换它。不是很好吗?当然,这不是绑架谁,谁来做什么,我只是告诉这件事,让更多的人知道。

7. 游戏开发工具

【适用对象:游戏开发程序员】

↳7.1 统一

Unity是一个跨平台的2D/3D游戏引擎,可用于开发macOS和Linux平台的单机游戏,Xbox、Wii、 3DS等主机平台的视频游戏,以及手机游戏如iOS等设备游戏。

这是引擎和IDE之间的区别。

Unity的主要UI如图所示:

来源:

如您所见,您可以在 Unity 中定义资源、调整资源、管理代码等。

如前所述,我使用 Unity 和 VS 进行开发。由于我好几年没做游戏了,不能自己截图给大家看,所以这里放一张来自微软官网的图。

来源:↳7.2(虚幻引擎)

虚幻引擎是由 Epic Games 开发的游戏引擎。该引擎最初是为第一人称射击游戏的开发而设计的,但现在已成功用于潜行游戏、格斗游戏、角色扮演游戏和许多其他不同类型游戏的开发。

这是5的渲染效果截图。这是直接从游戏视频中截取的一帧。你可以看到这个项目太强大了。有网友表示,虚幻引擎迟早会更名为“Real ”。

↳7.3 Flash+Flex

不知道现在还有没有人用这个,不过这是一套开发网页游戏的组合。但是现在到了2020年,这套搭配已经很落伍了。现在大家都用H5开发,很少用Flash。Adobe官方宣布将在2020年停止支持Flash,所以这只是怀旧之情,不建议想做页游的人学习使用这个框架。自 2014 年以来我没有制作网页游戏,当时我们使用的是 Flash+Flex 的组合

8.

【适用于:数据分析师、数据科学家】

使用起来非常直观,会以网页的形式打开。您可以直接在网页中编写代码并运行代码,代码的运行结果也会直接显示在代码块下方。一般广泛应用于数据分析、数据科学等领域(我也是忠实用户之一一)

来源:

, 是 Julia 和 R 的缩写,它们也是受支持的语言。事实上,它不仅支持这三种,而且支持超过 40 种编程语言。

最后

毕竟这个答案篇幅有限,不能穷尽所有工具。作为这个答案的最后,我附上了 2020 年 12 月的 IDE 排行榜。我没有提到一些 IDE。有兴趣的可以去搜搜。

参考平台:构建开发者工具的开源平台 - IDE index

相关文章

发表评论