程序员的三个美德是懒惰、不耐烦和傲慢。懒惰,是程序员美德的第一要素。
这里所说的「懒惰」,并不是安于现状和不思进取,而是付出最少的时间或者精力来达到同样甚至更好的目标。「懒惰」的程序员会尽量使自己的代码既实用又有很好的可读性,这样可以节省后面的很多维护成本;还会尽力完善代码中的注释及文档,以免别人问自己太多问题,更擅长使用各种工具,从方方面面提升自己的效率。
本文介绍的多种实用工具,就可以帮我们全方位武装成「懒惰」的程序员,例如可帮我们提升工作效率的硬件、操作系统和软件。
盘点一下那些可以提升程序员工作效率的硬件设备。
笔记本电脑基本上是程序员开发的标配,那么要不要给自己再多配置一台显示器呢?配置一台多大的显示器呢?
在 StackOverflow 2019 开发者调查报告中显示,有 51.1% 的开发者使用两个显示器,有 17% 的开发者使用三个以上显示器。
美国一项调查结果显示:
所以,我们基本可以得出结论:额外配置一台 24 寸左右的显示器可以提升工作效率。因为作为程序员,我们可能要同时和 IDE、Linux 命令行及浏览器等打交道,有多台显示器可以帮我们减少切换时间。
键盘和鼠标等外设对于程序员来说,其重要性不言而喻。在 StackOverflow 2019 开发者调查报告中显示,有超过 52% 的开发者认为人体工程学键盘和鼠标可以使自己在繁忙的工作中感到一点点舒适感。
一个好的机械键盘或电容键盘加一个比较灵敏的无线鼠标,不仅可以令一个程序员的工作效率得到很大提升,还可以在一定程度上起到愉悦心情的作用,尤其是通过调试解决一个 Bug 后,最后敲击键盘的那一刻。
StackOverflow 在 2018 年也做过类似调查(Developer Survey Results 2018,https://insights.stackoverflow.com/survey/2018),结果显示:主要使用 Windows 操作系统的开发者占了 49.9%,主要使用 Mac OS 操作系统的开发者占了 26.7%,主要使用 Linux 操作系统的开发者占了 23.2%。
推荐使用Mac OS系统作为主要的操作系统进行开发。由于开发者开发出来的应用基本都部署在 Linux 服务器上,而且 Linux 操作系统提供了很多 Shell 命令,可以快速地进行构建、编译、执行、排查问题等,所以在日常的纯代码开发、交付及运维方面可以大大提升效率。
所谓一图胜千言,无论是自己梳理思路,还是给别人讲解,图案都是很好的形式。而且,程序员还经常要做一些 PPT 等,有了这些画图工具,就能大显身手。
XMind 是一款非常实用的商业思维导图软件,采用 Java 语言开发而成,具备跨平台运行的性质,且基于 EclipseRCP 体系结构,支持插件通过编写 XML 清单文件扩展系统定义好的扩展点,帮助用户在真正意义上提高生产效率,被著名的互联网媒体 Lifehacker 评选为「最佳头脑风暴和思维导图工具」及「最受欢迎的思维导图软件」。
开发人员在写代码之前就需要了解需求,在这之后要对软件系统进行建模,将抽象的语言描述转换成可视化的模型。而在建模过程中需要一种标准的语言,这种语言就是UML。
Rational Rose:是 Rational 公司出品的一种面向对象的统一建模语言的可视化建模工具,主要用于可视化建模。现在被IBM收购。
Visual Paradigm for UML(VP-UML):是一种功能强大、跨平台、使用便捷、直观的 UML 建模和 CASE 工具,它可以被整合在其他 CASE 工具或者其他 IDE 工具中。Visual Paradigm for UML 支持 UML 建模、数据库建模、对象关系映射、逆向工程和 Java 双向工程等,功能异常强大。
StarUML(SU):是一款开源的 UML 开发工具,支持绘制用例图、类图、序列图、状态图等 9 种常用的 UML 图,具有发展快、灵活、可扩展性强等优点,唯一的不足之处是在反向工程时只能生成类图,不能生成类之间的关系。
作为程序员,我们除了要具备编程的硬技能,还要具备写作的软件,而首选的写作方式就是 Markdown。目前,很多大型博客网站都开始支持使用 Markdown 写文章,这无疑是对程序员的一种示好行为,著名的代码托管网站 GitHub 也支持使用 Markdown 语法来编辑 README 文件等。
关于 Markdown 的编辑器,目前市面上也有很多选择,主要有 Mou、MacDown、Typed 和 Bear 等,还有很多在线的 Markdown 编辑器。
其实使用哪种 Markdown 编辑器并不很重要,重要的是程序员应该掌握常用的 Markdown 语法。这样写出来的文章或者文档,可以在任意支持 MD 语法的平台上查看。
在某些情况下我们仅需要打开一个单独的文本文件,比如打开一个 XML 格式的文件、一个 JSON 格式的文件等,这时一款好用的文本编辑器就派上用场了。
当心最火的编辑器,VS Code(Visual Studio Code)是由微软研发的一款免费、开源的跨平台文本(代码)编辑器。几乎完美的编辑器。
一款流行的代码编辑器软件,可运行在 Linux、Windows 和 Mac OS X 等操作系统之上,是许多程序员喜欢使用的一款文本编辑器软件。它具有代码高亮、语法提示、自动完成且反映快速的编辑器软件,不仅界面华丽,还支持插件扩展机制。
GitHub 专门为程序员推出的跨平台的文本编辑器,因为有简洁、直观的图形界面而受到了广大程序员的青睐,而且它有很多有趣的特点:支持 CSS、HTML、JavaScript 等网页编程语言;支持宏,自动完成分屏功能,集成了文件管理器;支持 Mac OS、Windows 和 Linux 操作系统,支持 Node.js 所写的插件,并内置由 GitHub 提供的 Git 版本控制系统。
也是一套被广大程序员选用的纯文本编辑器,基于同样开放源码的 Scintilla 文本编辑组件研发而成,整个项目起初被托管于 SourceForge.net,曾经两度获得 SourceForge 社区选择奖——最佳开发工具。Notepad++ 在 2010 年 6 月被托管于 TuxFamily,现被托管于 GitHub。
在日常开发工作中,我们对 Host 绑定肯定不陌生,因为我们几乎每天都要和它打交道。我们可能经常要在不同的 Host 绑定之间来回切换。SwitchHosts 是一个非常方便、快捷的 Host 绑定切换工具,免费、开源,支持预发高亮、方案多选、单击行号快速切换注释、系统菜单栏快捷切换、方案导入导出等功能。
我们除了会和 Host 绑定打交道,还经常会和 RESTful API 打交道,有时我们需要一个工具来帮我们发送 HTTP 请求,或者说是模拟 HTTP 请求,比如帮我们发送 POST 请求等,这时就需要一款可以模拟发送 HTTP 请求的工具。
是一个面向于 Java 开发人员的网站,在这里你可以通过 Java 的 projects、classes 等关键字在线查看对应的源码。通过 Grepcode,还可以在线查看很多不同版本的源码,并下载相关的 jar 包、源码 jar 包和 Doc 文件。
是一个源码搜索引擎,目前支持从 GitHub、Bitbucket、Google Code、CodePlex、SourceForge 和 Fedora Project 平台搜索公开的源码。
可以从 SQL 的建表语句中生成一个 DO 类。很多时候,我们在有了数据库的建表语句之后,会希望快速生成与之相对应的 POJO,这时这种自动生成工具就派上用场了。
JSON 是目前 Java Web 中数据传输的主要格式,我们在很多时候都会有将 JSON 转成 Java 对象的需求。有时合作方会提供一个 JSON 样例,需要我们自定义 Java 类,这时这个工具就派上用场了,一款比较好用的工具。
Cron 一般用于配置定时任务的执行,但是要想一次性地把一个 Corn 表达式配置好,确实很难,需要我们记住其语法。有一些在线工具可以提供图形化的界面,只要输入想要定时执行的周期等,就可以自动生成 Corn 表达式,becorn就是这样一个工具。
使用过 SVN 或者 Git 的人对 Diff Check 肯定不陌生,但有时候我们修改的文本内容并没有被版本控制工具管理起来,那么可以使用在线的网站查看文件的修改情况 .
是一个在线协作绘图平台,为用户提供了非常强大、易用的作图工具,支持在线创作流程图、BPMN、UML 图、UI 界面原型设计、iOS 界面原型设计等。
可以在线运行 PHP、C、C++、Go、Python、Java、Groovy 等代码,在我们手头没有 IDE 又想执行一个小程序时是个不错的选择。
感谢您的阅读。
本文同时也发表于专栏同名公众号,如果你想第一时间接收最新文章,那么可以关注哦。如果对你有一点点帮助,可以点喜欢点赞点收藏,还可以小额打赏作者,以鼓励作者写出更多更好的文章。