Java程序员拥有这些工具,还怕干不出好活
老话说,工欲善其事,必先利其器。
那么,作为编程人员,你都用过哪些“兵器”呢?你的”兵器“够”锋利”吗?
近期,有很多新朋友问,都有什么画流程图的工具,给推荐推荐?
索性,就静下来,好好梳理一下,从事编程十余载中,用到了哪些工具?尝试汇总分享给大家,希望对大家有所帮助。
Tips:
1. 考虑方便收藏,文末已经把文中提到的工具整理成图。
2. 曾经用过的,以及目前在用的工具梳理,势必会有适合你的款。
01. 设计原型
代码写久了,也会客串一下产品的角色,画点原型。按照接触时间,主要分享两款。
一款是安装后,便可进行设计原型的 Axure RP。

(Axure RP 效果图,图片来源于官网)
另一款是在线进行产品原型设计的磨刀(没错,名称就叫磨刀),是当下远程办公的好帮手。

(磨刀效果图)
02. 制定计划
产品同事把产品原型画完,往往会喊上开发的兄弟们,组会进行评审,待产品需求评审完,就要进行大致的排期,而排期的工具也有很多,在这里主要提我用过的两款。
之前,用的比较多的一款是 Microsoft Project,排出来的效果,个人感觉整体是比较正式的。

(Project 计划效果图)
现在,经常用的是 Microsoft Excel(没错,就是 excel 表格),用 Excel 排完之后,团队的兄弟几乎都能看,无需安装其它软件,主要是图个方便。

( Excel 简易的排期效果图,复杂的要比这复杂的多)
03. 流程设计
当产品需求明确,大致周期也定了,按照规范化的流程,那便是进入设计阶段,此时往往会用到画图工具,在这里,按照我用的时间先后顺序,罗列几款出来,希望对你有用。
第一款是 Office Visio,此款是我用的最早的一款,而且画起图来也很简单,清晰明了。只要我用 Windows 系统,都会用 Visio 进行画架构图以及详细业务流程图,已经形成了肌肉反应。
有些时候,也会用一款超好用的 UML 画图工具 StarUML,来画画类图,时序图等等。

(StarUML 效果图,来源于官网)
不过,自从切换成苹果电脑,开始使用 ProcessOn 进行在线画图,无需安装,打开链接就能用,而且各种图都支持。无论是工作,还是平时写文章做分享时,经常会用到这款工具。从以往分享的文章中摘两张丑图,看看效果。

(ProcessOn 效果图,来源于以往分享“矛与盾,如何造好系统的盾”)

(ProcessOn 效果图,来源于以往分享“监控实战Prometheus+Grafana”)
但是,倘若在 ProcessOn 不花 Money 的情况下,能画图的张数是有限制,所以偶尔也会用 draw.io,它也是一个强大简洁的在线的绘图工具,用它来凑两张图也未尝不可。

(draw.io 效果图,来源于以往分享“这些技术轮子,让监控落地成为现实”)
04. 代码研发
当业务流程设计图画好时,喊上产品汪,组会评审一下,看看需求理解的有没有问题,若是没啥问题,那就进入了编码研发阶段。
作为一枚 Java 程序员,编程工具从记事本、Editplus、JCreator、Eclipse 到现在用的最多的 IntelliJ IDEA。
业务需求实现过程中,很多场景需要进行三方系统对接,有时三方会给你一个调用的 jar 包。但是有些时候怎么调,都不通,就想知道 jar 包里面都写了点啥?在此,推荐一款用的最多的反编译工具 JD-GUI。
在代码研发过程中,代码质量贯穿始终。之前我都会采用 Eclipse 集成 FindBugs 的插件进行扫描一下,看看有没有潜在的 Bug,不过现在 IDEA 的代码规约校验插件(阿里开发规约插件)已经很好的满足了此需求。
在这里,还是要提一下 SonarQuable,它是一个用于代码质量管理的开源平台,也有助于帮你进行代码审查,提升代码质量。

(SonarQuable 效果图)
当代码研发差不多时,不可避免的就是充分的自测,那么如何对自己写的接口进行请求调试呢?
一种方式写各种 Test 进行模拟发包,一段测试代码,反反复复修改参数;另外一种方式,避免反复修改代码,用 Postman 模拟发请求包,而且能把历史访问都存起来,超级好用。

(Postman 效果图)
敢问,你们开发过程,代码版本管理工具都用啥?我用过的代码版本管理工具,主要是 SVN 和 Git,但是逐渐开始都转向 Git。
另外,开发过程中,往往会进行合并代码,冲突时需要进行找不同,用 SVN 和 Git 这些代码版本管理工具可以做到,不过有些时候,紧急使用时,为了尽快定位不同,也会用 Beyond Compare 直接比较。

(Beyond Compare 效果图)
05. 代码评审
代码研发完成,冒烟自测没啥问题,接下来就会组织会议,进行代码评审。
代码评审的主要目的,在我看来主要是两方面。第一:看看需求理解实现上有没有问题;第二:看看代码实现上有没有潜在的 Bug。
代码评审时,为了记录 Review 中的问题,现在用的最多的是 Excel。

(Review记录单,效果图,仅供参考)
06. 提交测试
当代码研发完成,经过代码评审后,进行代码反复调优,再经过充分的自测与联调,当信心倍增的时候就可以提交测试啦。
经历过的小作坊,打个包用 Xshell 或 SecureCRT 放到测试环境,发个邮件或者在 Jira 上通知一下测试组就 ok 啦。
经历过的大作坊,首先用 Jenkins 进行编译发布版本,部署到测试环境;若测试人员发现 Bug,会把 Bug 提到 Jira 上,研发人员修复完 Bug,再用 Jenkins 打包发版,这样每次提交测试的版本号都会 +1。这么一来,可以衡量开发人员的开发质量,若是提测版本过高,那肯定是风险系数稍高一些,稍微严格一点,会根据测试版本来算绩效呦。

(Jira 效果图)
经历过的由各公司抽技术人员,临时组成项目组去干一件大事,用过一款在线协作工具 Teambition,简单拖拽就能完成任务分配、认领,同时也非常适合测试提 Bug,研发人员进行认领 Bug 进行修复。

(Teambition 效果图)
07. 进行上线
当测试组完成测试时,会发送测试报告,当研发人员看到测试报告时,就可以发起上线申请啦。不过在上线前会与运维同事一起制定上线计划,制定计划的工具简单点的是 Excel,稍微正规点就在 Jira 上发起上线申请时,把上线注意事项写清楚,然后线下再沟通,确认无误再安排进行上线。
08. 写在最后
从事编程十多年,其中那些经常打交道的工具,本次就梳理这儿,希望你们能够喜欢。
最后,用 XMind 思维导图工具给大家汇总一下,便于各位收藏。

都知道,要使车子走得快,就得给轮子勤上油,但前提是要给车子装好轮子。
效率,是做好工作的灵魂。希望分享的这些工具,这些利器都能助你提高效率,有限的时间内,实现更多的价值。

Java程序员拥有这些工具,还怕干不出好活的更多相关文章
- JAVA程序员常用开发工具
1.JDK (Java Development Kit)Java开发工具集 SUN的Java不仅提了一个丰富的语言和运行环境,而且还提了一个免费的Java开发工具集(JDK).开发人员和最终用户可以利 ...
- java程序员烂大街为何还不便宜?
最近跟一朋友聊天,他是做c#开发的.他答应了老板带领一帮java工程师开发网站.披星戴月终于搞定,现在已经盈利.但是他公司的那帮搞c#的同事不淡定了. 在招聘java程序员的时候2年有开15k的.5年 ...
- Android Java 程序员必备开发工具
对于Java,有两种截然不同的观点:一种认为Java是最简单功能最强大的编程语言之一,另一种则表示这种编程语言既难用又复杂. 下面这些工具或许功能和作用不同,但是有着一个共同的主旨,那就是——它们都是 ...
- 【图灵学院01】Java程序员开发效率工具IntelliJ IDEA使用
1. 什么是IDEA? IDEA, Java智能IDE. 2. 为什么要使用? IDEA的优点: 1)智能选取 2)导航模式 3)历史记录 4)重构 5)编码辅助 6)智能排版,控制 7)智能代码,查 ...
- Java程序员必备的6款最佳开发工具
工欲善其事,必先利其器.每一个Java程序员都有其惯用的工具组件.对于Java程序员,各种有用的软件和工具泛滥成灾.初级开发人员要么找不到合适的工具,要么在寻找过程中浪费了大量的时间.下面,我将为大家 ...
- Java程序员必备的 15框开发工具
15款Java程序员必备的开发工具 如果你是一名Web开发人员,那么用膝盖想也知道你的职业生涯大部分将使用Java而度过.这是一款商业级的编程语言,我们没有办法不接触它. 对于Java,有两种截然不同 ...
- Java程序员常用工具集
我发现很多人没办法高效地解决问题的关键原因是不熟悉工具,不熟悉工具也还罢了,甚至还不知道怎么去找工具,这个问题就大条了.我想列下我能想到的一个Java程序员会用到的常用工具. 一.编码工具 1.IDE ...
- 一个10年Java程序员的年终总结,献给还在迷茫中的你
我越来越担心我作为一个Java程序员的未来. 恍然间,发现自己在这个行业里已经摸爬滚打将近10年了,原以为自己就凭已有的项目经验和工作经历怎么着也应该算得上是一个业内比较资历的人士了,但是今年在换工作 ...
- 每个Java程序员需要了解的8个Java开发工具
每个Java程序员需要了解的8个Java开发工具 Java是计算机应用程序编程语言,被广泛用于创建Web应用.服务器处理.用户端的API开发乃至数据库等多个领域.下面列出了8个有助于你开发Java应用 ...
随机推荐
- ABP开发框架前后端开发系列---(16)ABP框架升级最新版本的经验总结
有一小段时间没有持续升级ABP框架了,最近就因应客户的需要,把ABP框架进行全面的更新,由于我们应用的ABP框架,基础部分还是会使用官方的内容,因此升级的时候需要把官方基础ABP的DLL进行全面的更新 ...
- yuchuan_Linux_C 编程之七系统IO函数
一.整体大纲 二. 系统IO函数 1. 一些概念 文件描述符 PCB C库函的IO缓冲区 1) 文件描述符 int 类型 一个进程最多 ...
- vue相关坑
1:vue 动态加载图片路径报错解决方法,循环遍历图片不显示图片 解决方法:https://www.cnblogs.com/qingcui277/p/8930507.html
- AlphaGo、人工智能、深度学习解读以及应用
经过比拼,AlphaGo最终还是胜出,创造了人机大战历史上的一个新的里程碑.几乎所有的人都在谈论这件事情,这使得把“人工智能”.“深度学习”的热潮推向了新的一个高潮.AlphaGo就像科幻电影里具有人 ...
- 三维GIS引擎地图可视化渲染方案设计
1.GIS地图可视化流程 GIS地图可视化就是将空间数据转化为地图数据再进行交互处理的方法,下图一展示了地图可视化的可编程渲染的典型管道,原始空间数据必须处理为图形API支持基础图元用以地图渲染.下图 ...
- 致远·面向人工智能-逐浪CMS v8.1.2全面发布[全球首个基于dotNET core3.0的中文CMS]
原文:https://www.z01.com/down/3484.shtml 再远, 我都不会停息, 因为技术而生, 因为技术而强, 这是逐浪软件的命与根! 全新打造, 三百多项超级功能, 助你十分钟 ...
- CSS3-3D技术
CSS3-3D技术 transform翻译成汉语具有"变换"或者"改变"的意思. 此属性具有非常强大的功能,比如可以实现元素的位移.拉伸或者旋转等效果, 最能体 ...
- C# lock 语法糖实现原理--《.NET Core 底层入门》之自旋锁,互斥锁,混合锁,读写锁
在多线程环境中,多个线程可能会同时访问同一个资源,为了避免访问发生冲突,可以根据访问的复杂程度采取不同的措施 原子操作适用于简单的单个操作,无锁算法适用于相对简单的一连串操作,而线程锁适用于复杂的一连 ...
- Web的服务器和Javaweb结构
上一节介绍了Eclipse中集成Tomcat环境搭建及javaweb项目的创建,下面说说什么是web服务器及javaweb的结构. 1.web应用的演变 1.1 b/s与c/s模式 B/S:Brows ...
- python使用argparse 、paramiko实现服务器管理器
使用argparse,paramiko两个包去实现简易的服务器管理器,完成两种方式的连接( 密码和密钥 ),以及命令行交互,文件上传下载. 相比sys.argv的方式去判断传入的参数,如果参数较多那么 ...