揭秘BAT程序员必备工具:今年涨薪的秘密武器!

发表时间: 2019-08-23 14:36

所谓“工欲善其事,必先利其器”,你想杀敌,那么必备一把锋利的剑,你想写好代码,必备有好的开发工具

一个优秀的IDE,最重要的就是在普通文本编辑之外,提供针对特定语言的各种快捷编辑功能,让程序员尽可能快捷、舒适、清晰的浏览、输入、修改代码。对于一个现代的IDE来说,语法着色、错误提示、代码折叠、代码完成、代码块定位、重构,与调试器、版本控制系统(CVS)的集成等等都是重要的功能。以插件、扩展系统为代表的可定制框架,是现代IDE的另一个流行趋势。

笔者上一篇文章也提到,目前最火的两个语言是Java和Python,结合这两个角度和笔者的从业经历,本文会帮助分析哪些才是顶尖公司程序员经常使用的开发工具。

1.PyCharm

PyCharm是JetBrains开发的Python IDE。PyCharm用于一般IDE具备的功能,比如, 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等,另外,PyCharm还提供了一些很好的功能用于Django开发,同时支持Google App Engine,更酷的是,PyCharm支持IronPython!

2.Eclipse + PyDev

依靠强大的eclipse,PyDev显得格外耀眼。强大的调试功能和舒服的编辑环境让PyDev赢得了许多人的青睐。不过eclipse本来就是耗资源大户,PyDev在这一点上毫无办法,但现在的电脑都很快了,跑eclipse根本就是小case,不用担心太多。除了强大的调试功能,依靠 eclipse,PyDev的代码浏览能力是其它所有IDE所不能比的,比如按住CTRL键再点击一个类就能自动跳到该类的定义,这对于阅读代码非常有用。

3.Visual Studio + PTVS

众所周知,Visual Studio是开发Windows平台产品的利器,是C#、ASP.NET等应用开发的首选 IDE。其实,Visual Studio也可作为Python IDE来使用。你只需在Visual Studio的基础上,安装PTVS(Python Tools for Vistul Studio)插件,即可快速将Visual Studio变成Python IDE来使用。

4.Vscode

Vscode速度快,飞一般的感觉,对超大文件读写速度飞快。如果是打开一个10M的代码,差不多1秒搞定。如果你是使用Subline,那就要杯具了,大家都懂的哈。

5.Python 语言基础库——Cup

CUP 基础库是百度开源的 Python 语言基础库,致力将业务开发从涉及底层操作、Util 操作类解放出来,进而更关注构建上层业务逻辑。目前 CUP 已涵盖从零构建一个服务底层支持的各个方面。

使用场景:

  • 使用 CUP 辅助从 0 到 1 构建一个 Service,特别是底层结构;
  • 使用 CUP 作为 Utils 底层库协助业务代码开发。

6.Java 线上诊断工具 Arthas

Arthas 是阿里巴巴 2018 年 9 月开源的一款 Java 线上诊断工具,支持 JDK 6+,支持 Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。

使用场景:

  • 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
  • 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
  • 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
  • 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
  • 是否有一个全局视角来查看系统的运行状况?
  • 有什么办法可以监控到 JVM 的实时运行状态?

7.IDE 插件 Cloud Toolkit

Cloud Toolkit 是一款 IDE 插件,可以帮助开发者更高效地开发、测试、诊断并部署应用。通过 Cloud Toolkit,开发者能够方便地将本地应用一键部署到任意机器(本地或云端),并内置 Arthas 诊断、高效执行终端命令和 SQL 等,提供 IntelliJ IDEA 版,Eclipse 版,PyCharm 版和 Maven 版。

使用场景:

  • 每次修改完代码后,是否正在经历反复地打包?
  • 在 Maven 、Git 以及其他运维脚本和工具的之间频繁切换?
  • 采用 SCP 工具上传?使用XShell或SecureCRT登陆服务器?替换部署包?重启?
  • 文件上传到服务器指定目录,在各种 FTP、SCP 工具之间频繁切换 ?

8.Eclipse IDE

如果咨询一些经验丰富的Java开发人员关于他们最喜欢的Java Integrated Development Environment(IDE)是什么,不少人会告诉你是Eclipse IDE。 Eclipse能提供关于代码完成、重构和语法检查这些急需的帮助。它还能提供JDT的一系列工具,包括各种插件工具来帮助开发各种Java应用。

此IDE的真正优势是它允许开发人员使用不同的语言支持,如它也可以提供C/ C++和PHP 的IDE。这使得它成为了Java开发的一个一站式资源。

9.NetBeans

它是开源软件开发集成环境,是一个开放框架,可扩展的开发平台。

NetBeans可以用于 Java,C/C++,PHP 等语言的开发,本身是一个开发平台,可以通过扩展插件来扩展功能。

10.Java 工具集 Dragonwell

Alibaba Dragonwell 是阿里巴巴内部 OpenJDK 定制版 AJDK 的开源版本, AJDK 为在线电商,金融,物流做了结合业务场景的优化,运行在超大规模的,100,000+ 服务器的阿里巴巴数据中心。 Alibaba Dragonwell 与 Java SE 标准兼容,目前仅支持 Linux/x86_64 平台。