我们能从 InteliJ IDEA 中学到什么?

2023-10-30 08:20
文章标签 idea 中学 intelij

本文主要是介绍我们能从 InteliJ IDEA 中学到什么?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击上方Web项目聚集地,选择“置顶公众号”

优质文章,第一时间送达

640?wx_fmt=jpeg

本文来源于阿里巴巴资深技术专家无相在内网的分享,受权发布。

最近因为工作的关系,要将 Eclipse 的插件升级为 IDEA 插件。升级过程中,对 IDEA 插件做了些学习和研究,希望通过本文,对“为什么收费的 InteliJ IDEA 会比免费的 Eclipse有着更好的用户口碑“这一现象,提供些个人的思考。

阅读本文,您将了解到心流与人体工效的重要性,并使自己变得更强大,文章将从以下几点展开:

  • InteliJ IDEA 当前的市场情况与表现;

  • IntelliJ IDEA 成功的原因;

  • IntelliJ IDEA 在 IDE 设计器领域胜出的两个关键点;

  • IntelliJ IDEA 对现实工作的启示;

InteliJ IDEA 的市场情况与表现


2012年开始,IntelliJ IDEA 便迅速崛起,到了2016年,就占领了开发者市场的 46% 分额。直至2018的最新结果:IntelliJ IDEA 的市场份额增长到了 55.4%,显然赢得了18年 Java 领域的 IDE 王者之战,甚至还有重构大师 Martin Fowler 在其著名的blog上,对 IntelliJ IDEA 赞誉有加。而且根据 IDEA 的产品满意度调查,其满意度竟高达 98%。

640?wx_fmt=png

IntelliJ IDEA 为何能成功?


很多国外学者也研究了 IDEA,它的成功之处归结起来有以下两点:

1. 产品功能上的成功:
  • 代码的智能提示:IDEA 自主开发语言解释器,做了深度的静态分析,让编程更加智能与高效,这是一项杀手级的特色功能;

  • 没有保存按钮:每一个你想使用的功能,都有快捷键;

  • 性能非常好,用户的体验极其流畅;

  • IDEA 不仅对核心插件进行维护,  还提供了优秀的工具集,给予用户一致的UX范式体验;

2. 营销策略上的成功:
  • 以产品为核心和根本,以 "更好用" 的设计理念和原则打败了很多竞争者;

  • IDEA 没有销售团队,但是霸气的营销口号体现了其内容营销的核心逻辑:”Try it. Test it. If you feel its better, use it“ ,没有多余的营销,真正做到了用产品说话;

相信大部分程序员,对 IDEA 的特性已经非常熟悉了。 接下来,我们将分析其真正强大的原因。

IntelliJ IDEA 为何能胜出?


IDEA 的风靡与崛起,在于它遵从了两个关键的设计哲学:

1. 不断打心流

Every aspect of IntelliJ IDEA is designed with ergonomics in mind. IntelliJ IDEA is built around the idea that every minute a developer spends in the flow is a good minute, and things that break developers out of flow are bad things. Every design and implementation decision considers the possibility of interrupting developer’s flow and seeks to eliminate or minimize it.(这句话美得我不想翻译。)

“Creative Flow” or just “Flow” is a state of mind where you feel evenly attuned, and focused on the task at hand.

创造心流是一种思考状态,是你感觉平和或专注于手头任务的时刻,通俗的理解就是当你沉浸于一件事时,有一种忘记时间与空间的感觉,心流会让你处于最佳的意识状态。McKinsey 在2010年的研究表明,当你处于心流状态,你的工作效率比非心流状态下的工作效率提高 500%。

通过这种设计理念的学习,不禁畅想:如果越来越多的产品,如果能像 IntelliJ IDEA 的产品体验一样,让人处于心流,高效完成任务,整体的生产效率将会成倍提升。

2. 人体工效学

IntelliJ IDEA 宣称用人体工效学来设计IDEA, 即 “The capable and ergonomic IDE for JVM”。

我们简要地科普一下人体工效学:这是一门专注研究人体舒适,通过产品设计减少疲劳、不舒适的科学。在家居设计和人体工程学上,都会重点考虑这种设计理念,让人们在使用时感受到更舒适、更高效率与更少的压力。

接下来例举两个人体工效学的经典例子:

  • 客服耳机             

640?wx_fmt=png

如果没有佩戴式耳机的出现,客服同学估计会疯掉。

  • 一撕得的包装箱              

640?wx_fmt=png

一撕得的包装纸质量、胶水质量、人体工效学的拉链式设计,这三种要素在纸箱界都是业界第一。

3. 人体工效学对软件设计的提示:
  • 统一的UX风格设计;

  • 将复杂任务变成简单任务;

  • 将长任务分解成短任务;

  • 因为人类的有记忆力的限制,所以要适当提供提醒,提供关键的辅助给用户,让他们完全沉浸在核心工作中,不被打断。

(更多提示,可以参看文末参考文献中的第5篇)

如果想感受一下人体工效学的设计,体验 IDEA 的快捷键与无保存按钮,立刻就能明白。

对我们现实工作有哪些启示?


640?wx_fmt=png

经过团队的讨论,我们认为 IDEA 的增长飞轮在于:优秀的设计理念,卓越的产品体验,InteliJ IDEA 开放的社区,免费与专业收费并行的商业模式。

IDEA 不断更新迭代的路径就是用更好的产品体验,吸引到更多的用户,用户贡献了更多的利润,用来吸收更多的优秀人才,一起开发更好的产品。这给予我们现实工作的指导意义就是:产品要回归至以人为中心的设计理念:

  • 心流的提示:罗列出用户的任务,让用户尽可能处于心流状态,消灭导致任务低效的因素;

  • 人体工效学提示:我们在设计产品时,要充分考虑用户使用产品的场景,这是一个一体化的设计,就像星环产品设计。写代码只是软件研发的一环,需求创意提出、需求研发上线、业务商业分析这些整体环节都要考虑,让用户舒适地完成任务;

  • 智能提示:采用人工智能来提升任务的完成效率。IntelliJ IDEA的智能代码提示,是一个经典的案例;

最后:我个人会将心流与人体工效学的设计思想,融入至技术产品设计过程中,期待我们团队的实践篇。

小编推荐两款创造心流的 IDE 插件:

1. 热替换利器:JRebel 

一款热部署插件,帮助开发者在项目处于运行状态下任意修改 Java 文件并动态反馈到运行的项目中。

(https://plugins.jetbrains.com/plugin/4441-jrebel-for-intellij)

2. 开发测试必备部署神器:Cloud Toolkit 

帮助开发者更高效地开发、测试、诊断并部署应用,利用此插件,能够方便地将本地应用一键部署到任意机器(了解更多:)。

参考文献:

Choosing your Java IDE:

https://www.javaworld.com/article/3114167/development-tools/choosing-your-java-ide.html

How To Achieve Creative Flow for Designers and Entrepreneurs

https://www.youtube.com/watch?v=Eyy9ddRgMX8

Research about Flow State

http://catalyticcolor.com/scientific-research-about-flow/

Flow State on Wikipedia

https://en.wikipedia.org/wiki/Flow_(psychology) 

Ergonomic Guidelines for User-interface Design

http://ergo.human.cornell.edu/ahtutorials/interface.html

本文作者:

无相,阿里巴巴资深技术专家,多年担任汇金平台的架构师,是阿里tbbpm工作流引擎的作者。曾在阿里云负责过云产品 0 至 1 的商业化,最近几年在负责阿里的店铺&详情等系统的中台建设。

首发自订阅号「阿里巴巴中间件」,欢迎关注!

640?

1. 

2. 

3. 

4. 

640?

这篇关于我们能从 InteliJ IDEA 中学到什么?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/306629

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

idea下svn的使用

创建项目 设置ignore文件 创建分支 切换到分支 查看当前分支 创建项目 设置ignore文件 .idea.mvntarget.gitignore*.imlmvnw.cmdmvnw 创建分支 切换到分支 查看当前分支

intellij idea generatorConfig.xml

generatorConfig.xml <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-ge

idea 中添加javap

平时敲代码,有时会需要看class的内部结果,使用java自带的工具javap,非常不错。现在放在idea,可以方便随时查看。   主要三个配置: Program:     C:\Program Files\Java\jdk1.8.0_151\bin\javap.exe Arguments:  -verbose $FileNameWithoutAllExtensions$.clas

IntelliJ IDEA - 强大的编程工具

哪个编程工具让你的工作效率翻倍? 在日益繁忙的工作环境中,选择合适的编程工具已成为提升开发者工作效率的关键。不同的工具能够帮助我们简化代码编写、自动化任务、提升调试速度,甚至让团队协作更加顺畅。那么,哪款编程工具让你的工作效率翻倍?是智能的代码编辑器,强大的版本控制工具,还是那些让你事半功倍的自动化脚本?在这里我推荐一款好用的编程工具:IntelliJ IDEA。 方向一:工具介绍 Int

如何删除不小心上传到git远程仓库中的.idea .iml文件

如果在开始的时候不配置,gitignore文件或者文件配置不正确,初始化上传的时候就会有一些不必要的信息上传上去 如果已经存在了一些文件在git远程仓库中,如。idea,.iml文件等。 首先在项目中定义一个  .gitignore文件,简单的实例如下也可以用idea中的gitignore插件 .DS_Storeclasses/*.settings/target/.classpath

idea 常用快捷键以及技巧

修改方法如下: 点击 文件菜单(File) –> 点击 设置(Settings… Ctrl+Alt+S), –> 打开设置对话框。 在左侧的导航框中点击 KeyMap。 接着在右边的树型框中选择 Main menu –> Code –> Completion. 接着需要做两件事: 1. 移除原来的Cycle Expand Word 的 Alt+/ 快捷键绑定。 2. 在 Basic 上点击右键,

idea 怎么调试debug

1、这里以一个web工程为例,点击图中按钮开始运行web工程。 2、设置断点 3、使用postman发送http请求 4、请求发送之后会自动跳到断点处,并且在断点之前会有数据结果显示 5、按F8 在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则不进入当前方法体内,跳到下一条执行语句。 6、按F7在 Debug 模式下,进入下一步,如果当

idea插件开发的第二天-写一个时间查看器

介绍 Demo说明 本文基于maven项目开发,idea版本为2022.3以上,jdk为1.8本文在Tools插件之上进行开发 Tools插件说明 Tools插件是一个Idea插件,此插件提供统一Spi规范,极大的降低了idea插件的开发难度,并提供开发者模块,可以极大的为开发者开发此插件提供便利Tools插件安装需要idea2022.3以上版本插件下载连接: https://downlo

【IDEA】建立多个子模块依赖于一个父模块(maven)

第一步,建立父模块(在IDEA中就是工程) 第二步,选中父模块(也就是工程)右键New Module建立子模块 勾选创建模板原型并一般选择 maven-archetype-quickstart,当创建web模块时选择 maven-archetype-webapp 其他子模块都是类似这样创建~ packaging打包类型有: jar,默认类型warejbea