工欲善其事必先利其器!在编程开发中能够使用好一些开发辅助工具能够让我们事半功倍。Perl之父Larry Wall曾在 Programming Perl 一书中提到:程序员的三个美德是懒惰、不耐烦和傲慢。懒惰,是程序员美德的第一要素。Larry Wall所说的“懒惰”,并不是安于现状和不思进取,而是付出最少的时间或者精力来达到同样甚至更好的目标。“懒惰”的程序员会尽量使自己的代码既实用又有很好的可读性,这样可以节省后面的很多维护成本;还会尽力完善代码中的注释及文档,以免别人问自己太多问题,更擅长使用各种工具,从方方面面提升自己的效率。下面就总结一下开发过程中常用的开发工具
IntelliJIDEA
IntelliJ IDEA是IDEA 的全称,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Python等少数语言。Java集成开发工具主流的有IntelliJIDEA和Eclipse。这两款开发工具之争由来已久,不过最近几年,IntelliJIDEA逐渐撼动了Eclipse的霸主地位,成为开发者的首选开发工具。笔者也经历过从Eclipes转向IntelliJ IDEA的过程,相比之下,Intellij IDEA在某些方面如代码提示,插件等确实比Eclipse更加出色一些。下面是IDEA工具的开发界面,酷酷的黑色主题既不那么伤眼也很装逼有不有~
SecureCRT
SecureCRT是一款终端仿真程序,支持SSH(SSH1和SSH2)以及Telnet和rlogin协议。SecureCRT用于连接运行包括Windows、UNIX和VMS在内的远程系统的理想工具。有流行CRTTelnet客户机的所有特点,包括:自动注册、对不同主机保持不同的特性、打印功能、颜色设置、可变屏幕尺寸、用户定义的键位图和优良的VT100,VT102,VT220和ANSI竞争.能从命令行中运行或从浏览器中运行.其它特点包括文本手稿、易于使用的工具条、用户的键位图编辑器、可定制的ANSI颜色等。SecureCRT是本人使用的第一款SSH连接工具,后来又使用过Xshell,Putty等。还是钟爱于SecureCRT。
MobaXterm
同CRT一样是连接远程 Linux 服务器的工具,如果是个人使用,下载家庭版(免费的)就可以满足基本工作需求;如果想要使用更丰富的功能,可以使用专业版(收费的)。个人使用的是家庭版,已经足够满足工作需求了。不过我喜欢它的原因,主要还是它的界面比较好看
Beyond Compare
Beyond Compare是一套由Scooter Software推出的文件比较工具。是一款不可多得的专业级的文件夹和文件对比工具。使用他可以很方便的对比出两个文件夹或者文件的不同之处。并把相差的每一个字节用颜色加以表示,查看方便。并且支持多种规则对比。Beyond Compare 3 可以对文本、mp3、图片、数据、注册表等进行比较分析。对于程序员,你可以用它来对比两份代码的变化,甚至可以用它来比较文件版本和文件夹。在进行文件比较的使用界面中,软件提供了全部显示、差异显示、相同行显示、逐段比较、交换两侧等极其方便的按钮,使用文本差异一目了然,显而易见。与其它同类软件相比,Beyond Compare 3 除了具体以上全面的比较功能外,还附带了文件合并和文件夹同步两种实用工具。并且支持便携式安装,完全不写系统注册表,你可以把它放到U盘里,随时使用!这个文件对比工具是在工作中经常会使用到的,简单方便。
UltraEdit
UltraEdit 是一套功能强大的文本编辑器,可以编辑文本、十六进制、ASCII 码,完全可以取代记事本(如果电脑配置足够强大),内建英文单字检查、C++ 及 VB 指令突显,可同时编辑多个文件,而且即使开启很大的文件速度也不会慢。UltraEdit 是 Windows 旗下一款流行的老牌文本/HEX 编辑器(非开源)。UltraEdit 正被移植到 Linux 平台。该移植名为 UEX,意即 UltraEdit forLinux。UEX具有原生的 Linux 外观,其界面、配置、热键等与 Windows 版并无二致。UltraEdit是一个49.95美元的共享软件,提供了友好界面的编程编辑器,支持语法高亮,代码折叠和宏,以及一大堆其他的功能,内置了对于HTML、PHP和JavaScript等语法的支持。UltraEdit代码折叠支持在所有 32 位Windows平台上进行 64 位文件处理(标准),Unicode 支持基于磁盘的文本编辑和大文件处理 - 支持超过 4GB 的文件,即使是数兆字节的文件也只占用极少的内存。本人在使用它之前一直使用notepad++,对于一些常用的处理实际上notepad++也完全够用,而且notepad++安装包非常小,轻便。但notepad++对于内存管理做的不好,导致对于一些大文件如十几兆,几十兆的文件时,notepad++会打不开,甚至直接闪退,卡死等。这一点上UltraEdit 就甩了它几条街了。UltraEdit 并不是免费软件,需要破解。
PDMan
本人长期以来一直从事于金融应用软件的研发以及项目实施工作,经常做数据库建模(数据表设计)。有一款称心如意的数据库建模工具,自然能够事半功倍,PowerDesigner的pdm模型为我的工作提供了很大的便利性。但电脑换了Mac系统之后,就只能在虚拟机Windows上使用PD,机器越来越吃不消了。PD是一款商业化优秀的建模工具。其设计初衷就是用作数据库建模,所以他必然是一款非常优秀的数据库建模工具。但,PowerDesigner有以下几个不足之处,有点不能忍受,萌生了自己做一个数据库建模工具的想法。
商业化,收费,价格还很贵(敲黑板,重点)。
功能太强大,隐藏较深,上手有一定难度,使用起来比较复杂。
仅限Windows平台使用。
复杂的功能,配置起来非常麻烦。
可以支持生成数据库的DDL建表语句以及JavaBean代码,但个性定制极其复杂。
自动生成文档格式非常难以调整。
PDMan是一款数据库设计软件,整个界面比PowerDesigner那种上世纪复古界面好看多了,重要的是这还是国人写的。PDMan是在Gitee上开源的项目,官网地址。安装方便,操作简单,日常开发模型设计功能够用!Gitee项目地址。特点如下:
- 永远免费使用(由于一些特殊情况,暂时还不能开源)。
- 功能简洁,去除晦涩难懂的设置,化繁为简,实用为上,上手非常容易。
- Windows,Mac,Linux三个平台均可以使用(敲黑板,重点)。
- 自带参考案例,学习容易。新建一个项目,完全不需要做任何配置。
- 对开发极其友好,可生成各种数据库以及编程语言的模型类。
- 目前系统默认实现了MySQL,Oracle,Java的代码自动生成,并且带注释。其他类型的数据库或语言,只需要添加相应的“数据库”并设置好相应的doT模板就可以了。
- 一键自动生成MarkDown格式的数据表结构文档,方便客户交付。
StarUML
StarUML是一款开放源码的UML开发工具,是由韩国公司主导开发出来的产品,可以直接到StarUML网站下载。可以用来创建UML类图。StarUML 支持多种格式的影像文件可导出JPG、JPEG、BMP、EMF和WMF等格式的影像文件。 StarUML 可以依据类图的内容生成Java、C++、C#代码,也能够读取Java、C++、C#代码反向生成类图。反向工程有两个主要用途,其一是旧有的源码反转成图之后,可以构建UML模型的方式继续将新的设计添加上去;另一项用途是想要解析源码时,可以通过反转的类图来理解,不再需要查看一行又一行的代码,这将节省大量的时间和精力。可到官网下载即可(建议下载staruml3.0.2版本)。破解方式到软件安装目录如 C:\Program Files\StarUML\resources。把这个目录下的app.asar替换掉即可。破解app.asar文件,链接: https://pan.baidu.com/s/1UGa8VBCTfPnkEhAyIUcb3Q 提取码: 16pk。下面是StarUML的工作界面图,看起来很清爽
Postman
这个工具做后端接口开发的都不模式吧,Postman是404大厂的基于javascript语言完成的一款超级强大的插件,名字也很亲近(邮递员)。postman为用户提供强大的 Web API & HTTP 请求调试功能。postman能够发送任何类型的HTTP 请求 (GET, HEAD, POST, PUT等),附带任何数量的参数+ headers,是一款非常实用的调试工具。postman适用于不同的操作系统,Postman Mac、Windows X32、Windows X64、Linux系统,还支持postman 浏览器扩展程序、postman chrome应用程序等。前端后台测试使用Postman都可以提供很多帮助,使用方便而且功能全面。最赞的是还有接口文档在线生成,一边测试一边就可以完成文档的编写。
WinSCP
WinSCP是Martin Prikryl公司发布的基于SSH的FTP客户端软件。WinSCP界面清新简洁友好,用户能在较短的时间内掌握软件的使用。WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端。同时支持SCP协议。它的主要功能就是在本地与远程计算机间安全的复制文件。WinSCP可以执行所有基本的文件操作,例如下载和上传。同时允许为文件和目录重命名、改变属性、建立符号链接和快捷方式。WinSCP是本人最喜欢使用的服务器文件传输工具,在没有持续集成的年代,基本上就是使用去环境上发布服务,拉取服务器上的日志文件等。
JD-GUI
JD-GUI是一款基于Java的反编译工具,它包括图形化界面,eclipse插件以及idea插件,采用C++开发,支持苹果Mac、微软windows以及Linux多个平台,可以反编译class文件、jar包等。用的人比较多。但是它已经好久没有更新了,JAVA7的代码很多语法都不支持,就别提已经大热的JAVA8了,在我说完这句话的时候,去oracle官网一看,jdk13都发布惹。。。不过凭借着便捷与图形化还是再加上时间的沉淀,作者还是给它排在第一位。对了,JD-GUI的核心其实是听过jd-core来完成的。您可以使用JD-GUI中文版浏览和重建源代码的即时访问方法和字段,以代码高度方式来显示反编译过来的代码。在工作中可能会碰到一些莫名其妙的问题,就需要反编译查看,这个工具少不了。
GitMind
GitMind是一款在线思维导图软件。支持Windows、Mac系统。为用户提供思维导图、鱼骨图、逻辑结构图、流程图的绘制。支持自主选择思维导图模版;可导出JPG、PNG图片、PDF文档以及TXT文本等多种格式 。作为开发人员,有时候整体系统文档或交付时画系统的思维导图,流程图不可避免。笔者用过Visio,ProcessOn。但Visio太过笨重了,安装包非常大,ProcessOn是在线作图很方便不过是付费的。知道发现了GitMind,它可以画流程图,思维导图。更重要的是它是完全免费的,良心工具推荐一下
Cmder
Cmder是Windows下非常好用的终端模拟器, 常用于替换windows自带的终端。它可以在不同的标签页中同时连接不同的底层Shell,包括cmd、PowerShell、Bash和WSL,并提供相关增强功能和更加便捷的操作方式,这也正是它被大家称作为Windows下的神器的原因。它支持了大部分的Linux命令。支持ssh连接linux,使用起来非常方便。比起cmd、powershell、conEmu,其界面美观简洁,功能强大。下面来看看效果
Mockplus
Mockplus(摹客)是一款简洁快速的原型图设计工具。适合软件团队、个人在软件开发的设计阶段使用。其低保真、无需学习、快速上手、功能够用。并能够很好地表达自己的设计。在写前端页面时先需画出原型图,这时原型图工具Mockplus就派上用场了,当然人各有好,还有很多其他优秀的原型图工具,如墨刀和axure。Mockplus的优点是基础版免费使用,操作简单,上手快,交互简单(只需拖曳就可以),功能多样,组件资源丰富,预览方式和导出类型多样,支持团队协作。对于一些常规的原型图足够,如果你是专业人士推荐axure。下面是Mockplus的操作界面,还是比较美的