1. 程式人生 > >阿里巴巴資深技術專家無相:我們能從 InteliJ IDEA 中學到什麼?

阿里巴巴資深技術專家無相:我們能從 InteliJ IDEA 中學到什麼?

開發十年,就只剩下這套架構體系了! >>>   

本文來源於阿里巴巴資深技術專家無相在內網的分享,阿里巴巴中介軟體受權釋出。

最近因為工作的關係,要將 Eclipse 的外掛升級為 IDEA 外掛。升級過程中,對 IDEA 外掛做了些學習和研究,希望通過本文,對“為什麼收費的 InteliJ IDEA 會比免費的 Eclipse有著更好的使用者口碑“這一現象,提供些個人的思考。

通過這篇文章,您將瞭解到心流與人體工效的重要性,並使自己變得更強大,文章將從以下幾點展開:

  • InteliJ IDEA 當前的市場情況與表現;
  • IntelliJ IDEA 成功的原因;
  • IntelliJ IDEA 在 IDE 設計器領域勝出的兩個關鍵點;
  • IntelliJ IDEA 對現實工作的啟示;
  • 充分利用 IntelliJ IDEA 外掛,使自己變得更強大;

InteliJ IDEA 的市場情況與表現是如何?

2012年開始,IntelliJ IDEA 便迅速崛起,到了2016年,就佔領了開發者市場的 46% 分額。直至2018的最新結果:IntelliJ IDEA 的市場份額增長到了 55.4%,顯然贏得了18年 Java 領域的 IDE 王者之戰,甚至還有重構的大師 Martin Fowler 在他著名的blog上,對 IntelliJ IDEA 讚譽有加。而且根據 IDEA 的產品滿意度調查,其滿意度竟高達 98%。

從外國學者角度,分析 IntelliJ IDEA 為何成功

很多國外學者也研究了 IDEA,它的成功之處歸結起來有以下兩點:

1. 產品功能上的成功:

  • 程式碼的智慧提示: IDEA 自主開發語言直譯器,做了深度的靜態分析,讓程式設計更加智慧與高效,這是一項殺手級的特色功能;
  • 沒有儲存按鈕:每一個你想使用功能,都有快捷鍵;
  • 效能非常好,使用者的體驗及其流暢;
  • IDEA 不僅對核心外掛進行維護, 還提供了優秀的工具集,給予使用者一致的UX正規化體驗;

2. 營銷策略上的成功:

  • 以產品為核心和根本,以 "更好用" 的設計理念和原則打敗了很多競爭者;
  • IDEA 沒有銷售團隊,但是霸氣的營銷口號體現了其內容營銷的核心邏輯:”Try it. Test it. If you feel its better, use it“ ,沒有多餘的營銷,真正做到用產品說話;

相信大部分程式設計師,對 IDEA 的特性已經非常熟悉了。 接下來,我們將分析其真正強大的原因。

在 IDE 設計器領域裡,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 flowis 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“。

我們簡要地科普一下人體工效學:這是一門專注研究人體舒適,通過產品設計減少疲勞、不舒適的科學。在家居設計和人體工程學上,都會重點考慮這種設計理念,讓人們在使用時感受到更舒適、更高效率與更少的壓力。

接下來例舉兩個人體工效學的經典例子:

1. 客服耳機

如果沒有佩戴式耳機的出現,客服同學估計會瘋掉。

1. 一撕得的包裝箱

一撕得的包裝紙質量、膠水質量、人體工效學的拉鍊式設計,這三種要素在紙箱界都是業界第一。

人體工效學對軟體設計的提示:

  • 統一的UX風格設計;
  • 將複雜任務變成簡單任務;
  • 將長任務分解成短任務;
  • 因為人類的有記憶力的限制,所以要適當提供提醒,提供關鍵的輔助給使用者,讓他們完全沉浸在核心工作中,不被打斷。

(更多提示,可以看參加文獻的第5篇文章。)

如果想體驗一下人體工程學的設計,IDEA的快捷鍵與無儲存按鈕,你立刻就會明白。

對我們現實工作有哪些啟示?

經過團隊的討論,我們認為 IDEA 的增長飛輪在於:優秀的設計理念,卓越的產品體驗,InteliJ IDEA 開放的社群,免費與專業收費並行的商業模式。IDEA 不斷更新迭代的路徑就是用更好的產品體驗,吸引到更多的使用者,使用者貢獻了更多的利潤,用來吸收更多的優秀人才,一起開發更好的產品。這給予我們現實工作的指導意義,產品要回歸至以人為中心的設計理念:

  • 心流的提示:羅列出使用者的任務,讓使用者儘可能處於心流狀態,消滅導致任務低效的因素;
  • 人體工效學提示:我們在設計產品時,要充分考慮使用者使用產品的場景,這是一個一體化的設計,就像星環產品設計。寫程式碼只是軟體研發的一環,需求創意提出、需求研發上線、業務商業分析這些整體環節都要考慮,讓使用者舒適地完成任務;
  • 智慧提示:採用人工智慧來提升任務的完成效率。IntelliJ IDEA的智慧程式碼提示,是一個經典的案例;

最後:我個人會將心流與人體工效學的設計思想,融入至技術產品設計過程中,期待我們團隊的實踐篇。

小編推薦兩款創造心流的 IDE 外掛:

1. 熱替換利器:JRebel

一款熱部署外掛,幫助開發者在專案處於執行狀態下任意修改 Java 檔案並動態反饋到執行的專案中。點選瞭解更多

2. 開發測試必備部署神器:Cloud Toolkit

幫助開發者更高效地開發、測試、診斷並部署應用,利用此外掛,能夠方便地將本地應用一鍵部署到任意機器(瞭解更多:體驗連結)。

參考文獻

  1. https://www.javaworld.com/article/3114167/development-tools/choosing-your-java-ide.html
  2. https://www.youtube.com/watch?v=Eyy9ddRgMX8
  3. http://catalyticcolor.com/scientific-research-about-flow/
  4. https://en.wikipedia.org/wiki/Flow_(psychology)
  5. http://ergo.human.cornell.edu/ahtutorials/interface.html

本文作者:

無相,阿里巴巴資深技術專家,多年擔任匯金平臺的架構師,是阿里tbbpm工作流引擎的作者。曾在阿里雲負責過雲產品 0 至 1 的商業化,最近幾年在負責阿里的店鋪&詳情等系統的中臺建設。目前,新零售業務平臺正在招聘優質架構師,歡迎投簡歷到 wuxiang#alibaba-inc.com 郵箱。

原文連結

本文為雲棲社群原創內容,未經