Java 程式設計師應該知道的 97件事|來自專家的集體智慧 (97 Things Every Java Programmer Should Know)

Kevlin Henney, Trisha Gee 著 黃詩涵 譯

  • Java 程式設計師應該知道的 97件事|來自專家的集體智慧 (97 Things Every Java Programmer Should Know)-preview-1
  • Java 程式設計師應該知道的 97件事|來自專家的集體智慧 (97 Things Every Java Programmer Should Know)-preview-2
  • Java 程式設計師應該知道的 97件事|來自專家的集體智慧 (97 Things Every Java Programmer Should Know)-preview-3
  • Java 程式設計師應該知道的 97件事|來自專家的集體智慧 (97 Things Every Java Programmer Should Know)-preview-4
  • Java 程式設計師應該知道的 97件事|來自專家的集體智慧 (97 Things Every Java Programmer Should Know)-preview-5
  • Java 程式設計師應該知道的 97件事|來自專家的集體智慧 (97 Things Every Java Programmer Should Know)-preview-6
  • Java 程式設計師應該知道的 97件事|來自專家的集體智慧 (97 Things Every Java Programmer Should Know)-preview-7
  • Java 程式設計師應該知道的 97件事|來自專家的集體智慧 (97 Things Every Java Programmer Should Know)-preview-8
  • Java 程式設計師應該知道的 97件事|來自專家的集體智慧 (97 Things Every Java Programmer Should Know)-preview-9
Java 程式設計師應該知道的 97件事|來自專家的集體智慧 (97 Things Every Java Programmer Should Know)-preview-1

買這商品的人也買了...

商品描述

行為引起的問題很「簡單」,困難的是由狀態引起的問題
—Edson Yanaga

學習Java慣用寫法並且儲存在大腦的快取記憶體裡
—Jeanne Boyarsky

從JVM績效的觀點看Java程式設計
—Monica Beckwith

垃圾回收機制是你的好朋友
—Holly Cummins

Java之中難以說明的匿名型態
—Ben Evans

浴火重生的Java
—Sander Mak

你知道現在幾點嗎?
—Christin Gorman

如果你希望精進Java技術能力,這本教戰手冊提供了來自Java生態系統裡多位頂尖高手根據自身實務經驗淬鍊而出的專家建議。本書鼓勵你學習新技巧、以新方法審視問題、負起工作責任以及努力精通程式設計工藝,藉此精益求精。

《Java程式設計師應該知道的97件事》由資深程式人Kevlin Henney、Trisha Gee彙編,反映出程式人撰寫Java軟體以及他們與軟體開發流程共處時累積的人生經驗。本書邀請多位優秀程式設計師分享他們的集體智慧,不論你的工作是處理舊有系統或是在Java 8釋出之後,穩定整併資料流的變化,本書都期盼他們的智慧能幫助你思考、重新省思Java實務。

作者簡介

Kevlin Henney 同時身兼獨立顧問和訓練師,他的專長為設計模式、架構、程式設計技巧、程式語言以及開發流程與實務。

Trisha Gee 為Java Champion成員之一,她的工作經歷遍及多種產業,包含金融業、製造業、教育界和科技產業,而且熱衷於幫助開發人員提高生產力。

目錄大綱

前言
1. 你只需要Java -- Anders Norås
2. 認定測試 -- Emily Bache
3. 利用AsciiDoc 強化Javadoc -- James Elliott
4. 請特別注意容器周遭的環境 -- David Delabassee
5. 行為引起的問題很「簡單」,困難的是由狀態引起的問題 -- Edson Yanaga
6. 基準測試很難,但JMH 能幫助你完成 -- Michael Hunger
7. 程式碼結構品質程式化與驗證的優點 -- Daniel Bryant
8. 將問題和任務拆解成小的工作區塊 -- Jeanne Boyarsky
9. 建立多元化的團隊 -- Ixchel Ruiz
10. 編譯過程不需要漫長等待和不可靠性 -- Jenn Strater
11. 「但是,它可以在我的機器上執行!」 -- Benjamin Muschko
12. 反對過大的JAR 的檔案 -- Daniel Bryant
13. 程式碼修復師 -- Abraham Marin-Perez
14. Java 虛擬機器上的並行性 -- Mario Fusco
15. CountDownLatch 物件是朋友還是敵人? -- Alexey Soshin
16. 宣告式表達是通往平行計算的道路 -- Russel Winder
17. 提高軟體交付的速度與品質 -- Burk Hufnagel
18. 你知道現在幾點嗎?-- Christin Gorman
19. 別讓整合開發環境掩蓋必備的開發工具 -- Gail Ollis
20. 不要更改你的變數 -- Steve Freeman
21. 擁抱SQL 思維 -- Dean Wampler
22. 處理Java 元件之間的事件關係 -- A.Mahdy AbdelAziz
23. 回饋循環 -- Liz Keogh
24. 在所有引擎上燃起火焰 -- Michael Hunger
25. 遵循乏味無趣的標準-- Adam Bien
26. 提高發布的頻率可以降低風險-- Chris O’Dell
27. 從解決難題到開發產品 --Jessica Kerr
28. 「全端開發人員」是一種心態 -- Maciej Walkowiak
29. 垃圾回收機制是你的好朋友 -- Holly Cummins
30. 使用更好的命名規則 -- Peter Hilton
31. 嘿,Fred。你能把HashMap 遞給我嗎? -- Kirk Pepperdine
32. 避免使用null -- Carlos Obregón
33. 如何擊潰Java 虛擬機器 -- Thomas Ronzon
34. 利用持續交付提升部署流程的重複性與稽核性-- Billy Korando
35. Java 為何能在程式語言戰爭中佔有一席之地-- Jennifer Reif
36. 認識Java 的內聯概念 -- Patricia Aas
37. Kotlin 與Java 之間的互通性-- Sebastiano Poggi
38. 我完成了,可是⋯⋯ -- Jeanne Boyarsky
39. Java 認證:技術試金石 -- Mala Gupta
40. Java 是90 年代的孩子 -- Ben Evans
41. 從JVM 效能的觀點看Java 程式設計 -- Monica Beckwith
42. Java 應該讓每個人都覺得有趣- - Holly Cummins
43. Java 之中難以說明的匿名型態 -- Ben Evans
44. JVM 為多重典範平台:請利用這項特性提升你的程式設計技巧 -- Russel Winder
45. 掌握脈動,跟緊潮流 -- Trisha Gee
46. 註解的種類 -- Nicolai Parlog
47. 認識flatMap 方法 -- Daniel Hinojosa
48. 認識Java 集合框架 -- Nikhil Nanivadekar
49. 請來試試時下最夯的Kotlin -- Mike Dunn
50. 學習Java 慣用寫法並且儲存在大腦的快取記憶體裡 -- Jeanne Boyarsky
51. 學習建立程式套路,教學相長 -- Donald Raab
52. 請學著愛上傳統系統裡的程式碼 -- Uberto Barbini
53. 學習使用Java 新特性 -- Gail C. Anderson
54. 學習使用IDE 來減輕認知負荷 -- Trisha Gee
55. 讓我們立下約定:Java API 的設計藝術 -- Mario Fusco
56. 讓程式碼簡潔又好懂 -- Emily Jiang
57. 讓你的Java 程式Groovy 化 -- Ken Kousen
58. 建立最低限度的建構函式 -- Steve Freeman
59. 請為時間函式作適當的命名 -- Kevlin Henney
60. 產業級技術之必要性 -- Paul W. Homer
61. 只要編譯有改變的部分,其餘不變的部分則重複利用 -- Jenn Strater
62. 開放原始碼專案沒那麼神 -- Jenn Strater
63. Monad 設計模式──Optional 雖然違反定律,卻是一個好用的型態 -- Nicolai Parlog
64. 按照功能所設定的預設存取修飾字來封裝類別 -- Marco Beelen
65. 生產環境是地球上最快樂的地方 -- Josh Long
66. 寫出有效的單元測試程式 -- Kevlin Henney
67. 建議你每日研讀OpenJDK 的原始碼 -- Heinz M. Kabutz
68. 知其然,更要知其所以然 -- Rafael Benevides
69. 浴火重生的Java -- Sander Mak
70. 透過Clojure 語言重新認識JVM -- James Elliott
71. 將布林值重構為列舉型態 -- Peter Hilton
72. 重構有助於提高閱讀程式碼的速度 -- Benjamin Muskalla
73. 簡化Value 物件 -- Steve Freeman
74. 請細心呵護你的模組宣告 -- Nicolai Parlog
75. 妥善管理相依性 -- Brian Vermeer
76. 請認真推行「關注點分離」原則 -- Dave Farley
77. 技術面試是一項值得培養的技能 -- Trisha Gee
78. 測試驅動開發 -- Dave Farley
79. JDK 在bin 目錄下提供了很棒的工具 -- Rod Hilton
80. 多方學習不同於Java 的思維 -- Ian F. Darwin
81. 談協同程序的運用思維 -- Dawn Griffiths、David Griffiths
82. 請將執行緒視為基礎設施的一環 -- Russel Winder
83. 真正優秀的開發人員會具備三項特質 -- Jannah Patchay
84. 權衡微服務之利弊 -- Kenny Bastani
85. 非受檢例外 -- Kevlin Henney
86. 開啟容器化整合測試潛藏的力量 -- Kevin Wittek
87. 模糊測試超乎常理地有效 -- Nat Pryce
88. 利用覆蓋率改善單元測試 -- Emily Bache
89. 廣泛利用自定義的@ID 註解型別 -- Mark Richards
90. 利用測試提高交付軟體的品質與速度 -- Marit van Dijk
91. 在測試程式碼中使用物件導向原則 -- Angie Jones
92. 利用社群的力量來提升你的職涯 -- Sam Hepburn
93. 何謂Java 社群參與流程計畫及其參與方式 -- Heather VanCura
94. 為什麼我認為Java 認證沒有價值 -- Colin Vipurs
95. 請以一句話表達註解內容 -- Peter Hilton
96. 請寫出「淺顯易懂的程式碼」-- Dave Farley
97. 新生代與古生代資料的垃圾回收機制 -- María Arias de Reyna
作者群
索引