หนังสือที่ต้องมีการออกอากาศสำหรับผู้เชี่ยวชาญ Java :
โปรแกรมเมอร์ทุกคนมีหนังสือบางเล่มที่มักจะสวมใส่เพราะพวกเขามักจะถูกเรียกว่าเป็นวัสดุมืออาชีพ หนังสือต่อไปนี้ควรเป็นสิ่งที่ต้องมีในชั้นวางหนังสือของโปรแกรมเมอร์ภาษา Java หนังสือมีราคาแพงดังนั้นฉันจึงตั้งใจทำรายการนี้ให้สั้นและ จำกัด เฉพาะหนังสือที่สำคัญ
คิดใน Java (Bruce Eckel)
คิดใน Java, ฉบับที่ 3 (Bruce Eckel; Prentice Hall Ptr, 2002)
ความคิดการเขียนโปรแกรม Java : ฉบับที่ 3 (แปลโดย Chen Haopeng et al.; สำนักพิมพ์อุตสาหกรรมเครื่องจักร, 2005)
หนังสือของ Eckel มีประโยชน์มากสำหรับการเรียนรู้วิธีใช้เทคโนโลยีเชิงวัตถุในสถานที่ Java ตัวอย่างรหัสจำนวนมากในหนังสืออธิบายแนวคิดที่เขาแนะนำ ข้อความมาจากคนที่ไม่คิดว่าเทคโนโลยี Java เป็นคำตอบที่ถูกต้องเสมอดังนั้นจึงค่อนข้างใช้งานได้จริง Eckel มีประสบการณ์มากมายในหลายภาษาและทักษะที่แข็งแกร่งในการคิดในลักษณะเชิงวัตถุ หนังสือเล่มนี้นำทักษะเหล่านี้ไปสู่สถานที่ Java ที่ใช้งานได้จริง เขายังเขียนหนังสือเล่มใหม่ชื่อ Thinking in Enterprise Java
Java ที่มีประสิทธิภาพ (Joshua Bloch)
Java ที่มีประสิทธิภาพ: คู่มือภาษาการเขียนโปรแกรม (Joshua Bloch; Addison-Wesley, 2001)
เวอร์ชัน Java จีนที่มีประสิทธิภาพ (แปลโดย Pan Aimin; Press Industry Industry Industry, 2003)
หนังสือเล่มนี้เป็นหนังสือที่ดีที่สุดในการทำความเข้าใจหลักการของการเขียนโปรแกรม Java ที่ยอดเยี่ยม วัสดุส่วนใหญ่ไม่พบในหนังสือเล่มอื่น ๆ เกี่ยวกับ "การเรียนรู้ Java" ตัวอย่างเช่นบทที่เกี่ยวกับการเขียนทับเท่ากับ () ในหนังสือของ Bloch เป็นหนึ่งในข้อมูลอ้างอิงที่ดีที่สุดที่ฉันเคยอ่าน นอกจากนี้เขายังรวมคำแนะนำที่เป็นประโยชน์มากในหนังสือ: แทนที่คลาสนามธรรมด้วยอินเทอร์เฟซและใช้ข้อยกเว้นอย่างยืดหยุ่น Bloch เป็นสถาปนิกของห้องสมุดแพลตฟอร์ม Java ของ Sun ดังนั้นเขาจึงมีความเข้าใจอย่างถ่องแท้เกี่ยวกับภาษา ในความเป็นจริงเขาเขียนห้องสมุดที่มีประโยชน์จำนวนมากในภาษา ต้องอ่านหนังสือเล่มนี้!
ภาษาการเขียนโปรแกรม Java (Ken Arnold, James Gosling, David Holmes)
ภาษาการเขียนโปรแกรม Java (Ken Arnold, James Gosling, David Holmes; Addison-Wesley, 2000)
ภาษาการเขียนโปรแกรม Java (ฉบับที่ 3) (แปลโดย Yu Wanrong et al., China Electric Power Press, 2003)
นี่อาจเป็นการแนะนำ Java ที่ดีที่สุดสำหรับคุณ มันไม่ใช่ข้อกำหนดมาตรฐาน แต่เป็นหนังสือที่อ่านได้ซึ่งแนะนำลักษณะของแต่ละภาษา หนังสือเล่มนี้มีน้ำหนักอย่างเข้มงวดและเป็นทางการทำให้โปรแกรมเมอร์สามารถดึงดูดภาษาชวาได้อย่างรวดเร็ว (และห้องสมุดที่อุดมสมบูรณ์)
การเขียนโปรแกรมพร้อมกันใน Java: หลักการออกแบบและรูปแบบ (Doug Lea)
การเขียนโปรแกรมพร้อมกันใน Java: หลักการและรูปแบบการออกแบบรุ่นที่ 2 (Doug Lea; Addison-Wesley, 1999)
การเขียนโปรแกรมพร้อมกันของ Java - หลักการและรูปแบบการออกแบบ (ฉบับที่สอง) (แปลโดย Zhao Yong et al., China Electric Power Press, 2004)
ไม่ใช่นักพัฒนาทุกคนที่ต้องมีความเข้าใจอย่างพิถีพิถันเกี่ยวกับการเกิดขึ้นพร้อมกันและไม่ใช่วิศวกรทุกคนที่สามารถเข้าถึงระดับของหนังสือเล่มนี้ได้ แต่ไม่มีภาพรวมที่ดีกว่าของการเขียนโปรแกรมพร้อมกันมากกว่าหนังสือเล่มนี้ หากคุณสนใจสิ่งนี้เริ่มต้นที่นี่ Lea เป็นโปรแกรมเมอร์มืออาชีพที่ SUNY และผลงานและความคิดของเขาที่เกี่ยวข้องกับการเกิดขึ้นพร้อมกันนั้นรวมอยู่ในข้อกำหนด JDK 5.0 (อ้างถึงจาก JSR166) ดังนั้นคุณสามารถมั่นใจได้ว่าคำแนะนำของเขาในการใช้ Java อย่างมีประสิทธิภาพ เขาเป็นคนสื่อสารที่เก่งมาก
ผู้เชี่ยวชาญด้านการออกแบบและพัฒนา J2EE แบบตัวต่อตัว (Rod Johnson)
ผู้เชี่ยวชาญด้านการออกแบบและพัฒนา J2EE แบบตัวต่อตัว (Rod Johnson)
WROX: คู่มือการออกแบบและพัฒนา J2EE (แปลโดย Wei Haiping, Press อุตสาหกรรมอิเล็กทรอนิกส์, 2003)
สำหรับผู้ที่ยังใหม่กับ J2EE นี่เป็นหนังสือเล่มเดียวที่สะท้อนเทคโนโลยีนี้อย่างแท้จริง หนังสือเล่มนี้มีประสบการณ์ความสำเร็จและความล้มเหลวเป็นเวลาหลายปี จอห์นสันมีความสุขที่ได้เปิดเผยประสบการณ์ความล้มเหลวต่อสาธารณชน J2ee มักใช้มากเกินไป หนังสือของจอห์นสันสามารถช่วยคุณหลีกเลี่ยงสิ่งนี้ได้
Refactoring (Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts)
Refactoring: ปรับปรุงการออกแบบรหัสที่มีอยู่ (Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts;
Addison-Wesley, 1999)
Refactoring: ปรับปรุงการออกแบบรหัสที่มีอยู่ (เวอร์ชันภาษาจีน) (แปลโดย Hou Jie et al., China Electric Power Press, 2003)
ฟาวเลอร์ได้เขียนหนังสือการเขียนโปรแกรมยอดนิยมหลายเล่มที่ได้รับการตีพิมพ์ในขณะนี้รวมถึงรูปแบบการวิเคราะห์ หนังสือของเขาเกี่ยวกับการฟื้นฟูเป็นหนังสือพื้นฐานในเรื่องนี้ รหัส Refactoring เป็นการฝึกอบรมที่ถูกเพิกเฉยโดยโปรแกรมเมอร์ แต่เป็นแนวคิดที่ใช้งานง่ายที่สุดสำหรับโปรแกรมเมอร์ Refactoring คือการปรับปรุงการออกแบบรหัสที่มีอยู่โดยไม่ต้องเปลี่ยนผลลัพธ์รหัส นี่เป็นวิธีที่ดีที่สุดในการรักษารหัสของคุณให้เป็นระเบียบและรหัสที่ออกแบบมาด้วยวิธีนี้ง่ายต่อการแก้ไขเสมอ จะได้รับการปรับแต่งเมื่อไหร่? เมื่อรหัส "รู้สึกถึงรสชาติ" หนังสือของ Fowler เต็มไปด้วยตัวอย่างของรหัสภาษา Java สภาพแวดล้อมการพัฒนาแบบบูรณาการภาษา Java (IDEs) (รวมถึง eclipse ของ IBM) รวมถึงการสร้างใหม่ของ Fowler และแต่ละชื่อมีชื่อใหม่ที่มีชื่อฟื้นฟูดังนั้นจึงคุ้มค่าที่จะคุ้นเคยกับวิธีการสร้างใหม่เช่นวิธีการแยก
รูปแบบการออกแบบ (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides)
รูปแบบการออกแบบ: องค์ประกอบของซอฟต์แวร์เชิงวัตถุที่นำกลับมาใช้ใหม่ได้ (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides; Addison-Wesley, 1997)
รูปแบบการออกแบบ: พื้นฐานของซอฟต์แวร์เชิงวัตถุที่นำกลับมาใช้ใหม่ได้ (แปลโดย Li Yingjun et al., สื่ออุตสาหกรรมเครื่องจักร, 2005)
นี่คือหนังสือที่มีชื่อเสียงมากขึ้นในวงกลมของโปรแกรมเมอร์มืออาชีพ จากชื่อเล่นทั่วไปของผู้เขียนหนังสือเล่มนี้ถือเป็น "Gang of Four (GOF) หนังสือ" รูปแบบเป็นวิธีที่จะนำกลับมาใช้ใหม่เมื่อคิดและแก้ปัญหาการเขียนโปรแกรมทั่วไป รูปแบบการเรียนรู้เป็นเรื่อง การใช้โหมดที่ดี (หรือรู้ว่าเมื่อใดที่จะไม่ใช้) เป็นทักษะ การเพิกเฉยต่อรูปแบบนั้นผิด ตัวอย่างทั้งหมดในหนังสือเล่มนี้แสดงใน C ++ แต่ภาษา Java เกิดจากที่นั่นดังนั้นจึงค่อนข้างง่ายในการเชื่อมต่อโปรแกรมเมอร์ภาษา Java กับวิธีการใช้รูปแบบเหล่านี้ในภาษา Java ทำความคุ้นเคยกับรูปแบบและเข้าใจวิธีการใช้รูปแบบที่ดีเพื่อให้การเขียนโปรแกรมง่ายขึ้น สิ่งนี้ทำให้การสื่อสารกับโปรแกรมเมอร์อื่น ๆ ก็ง่ายขึ้นเพราะในการแก้ปัญหาทั่วไปสำหรับปัญหาทั่วไปรูปแบบเป็นทางลัดเพื่ออธิบายแนวคิดการเขียนโปรแกรมที่เกี่ยวข้องจำนวนมากในโซลูชันที่ร่วมมือกัน วิธีการทั่วไปบางอย่างเช่นวิธีการจากโรงงานมีอยู่ทั่วไปและมีอยู่ในภาษาชวาเอง สำหรับหัวข้อการใช้รูปแบบด้วยการใช้งานที่ชาญฉลาดคุณยังสามารถอ่านการปรับเปลี่ยนรูปแบบของ Joshua Kerievsky ของ Joshua Kerievsky ซึ่งบอกว่าคุณสามารถให้โค้ดบอกคุณได้ว่าต้องใช้รูปแบบเมื่อใด
รูปแบบของสถาปัตยกรรมแอปพลิเคชันระดับองค์กร (Martin Fowler)
รูปแบบของสถาปัตยกรรมแอปพลิเคชันระดับองค์กร (Martin Fowler; Addison-Wesley, 2002)
รูปแบบสถาปัตยกรรมแอปพลิเคชันระดับองค์กร (แปลโดย Wang Huainin et al., สื่ออุตสาหกรรมเครื่องจักร, 2004)
เมื่อเทียบกับโครงการขนาดเล็กและครั้งเดียวการพัฒนาองค์กรแสดงให้เห็นถึงความท้าทายที่ยิ่งใหญ่กว่า นั่นไม่ได้หมายความว่าความท้าทายทั้งหมดที่เกิดจากการพัฒนาองค์กรเป็นความท้าทายใหม่ ในความเป็นจริงบางครั้งการพัฒนานี้เสร็จสมบูรณ์มาก่อน ฟาวเลอร์ได้ทำโครงการดังกล่าวมากมาย หนังสือของเขากล่าวถึงวิธีแก้ปัญหาทั่วไปบางอย่างและให้คำแนะนำเกี่ยวกับการใช้งานการประนีประนอมและตัวเลือก Fowler มีรูปแบบที่คุ้นเคยในหนังสือเช่น Model View Controller (MVC) และยังมีรูปแบบที่คุณอาจไม่เข้าใจเช่นโหมดคอนโทรลเลอร์หน้าซึ่งจัดการคำขอหน้าเว็บเฉพาะหรือคำขอพฤติกรรมบนเว็บไซต์ ในขณะที่คุณปฏิบัติต่อโหมดส่วนใหญ่เมื่อคุณอ่านโหมดจำนวนมากคุณคิดว่า "ฉันรู้โหมดนั้นแล้ว" อาจเป็นกรณีนี้ แต่มีประโยชน์ที่จะมีนิพจน์ทั่วไปสำหรับรูปแบบการอ้างอิง การอ้างอิงระดับนี้เป็นความช่วยเหลือที่ดีในโครงการขนาดใหญ่ที่มีหลายองค์ประกอบ (พัฒนาโดยคนที่แตกต่างกัน)
UML กลั่น (Martin Fowler)
UML Distilled: คู่มือสั้น ๆ เกี่ยวกับภาษาการสร้างแบบจำลองวัตถุมาตรฐาน (Martin Fowler; Addison-Wesley 2003)
UML Essence: คู่มือสั้น ๆ เกี่ยวกับภาษาวัตถุมาตรฐาน (ฉบับที่ 3) (แปลโดย Xu Jiafu, สำนักพิมพ์มหาวิทยาลัย Tsinghua, 2005)
สำหรับโปรแกรมเมอร์มืออาชีพ UML เป็นภาษาการสื่อสารด้วยภาพสากลที่สำคัญ แต่มันถูกใช้มากเกินไปและเร่งรีบ คุณไม่จำเป็นต้องรู้มากเกี่ยวกับการใช้การสื่อสาร UML การปรับแต่งของมาร์ตินของ UML ช่วยให้คุณมีสิ่งที่สำคัญที่สุด ในความเป็นจริงหน้าปกหน้าและด้านหลังให้ทุกสิ่งที่คุณอาจใช้เป็นประจำ รหัสสำหรับตัวอย่าง UML ในหนังสือเล่มนี้คือรหัส Java
การพัฒนาที่ขับเคลื่อนด้วยการทดสอบ: โดยตัวอย่าง (Kent Beck)
การพัฒนาที่ขับเคลื่อนด้วยการทดสอบ: โดยตัวอย่าง (Kent Beck; Addison-Wesley 2002)
การพัฒนาที่ขับเคลื่อนด้วยการทดสอบ (เวอร์ชั่นภาษาจีน) (แปลโดย CUI KAI, China Electric Power Press, 2004)
การเขียนโปรแกรมทดสอบครั้งแรกจะปฏิวัติการเขียนโปรแกรมและช่วยให้คุณเป็นโปรแกรมเมอร์ที่ดีขึ้น การเขียนการทดสอบก่อนที่จะเขียนโค้ดนั้นยากที่จะเริ่มต้น แต่มันเป็นทักษะที่ทรงพลัง โดยการจัดลำดับความสำคัญของการทดสอบรหัสสามารถทำได้ง่ายขึ้นและตรวจสอบให้แน่ใจว่ามันทำงานได้ตั้งแต่ต้น (เบ็คฝึกฝนลำดับความสำคัญการทดสอบของเขา, Junit ที่เขียนร่วม, กรอบการทดสอบที่ได้รับความนิยมมากที่สุดสำหรับ Java) หนังสือของเบ็คเป็นข้อมูลอ้างอิงที่เชื่อถือได้และตัวอย่างเงินที่ขยายออกไปยังเขียนใน Java เบ็คให้รายละเอียดเกี่ยวกับวิธีคิดด้วยลำดับความสำคัญการทดสอบ (ซึ่งอาจเป็นอุปสรรคแรกที่โปรแกรมเมอร์หลายคนพบ)
โปรแกรมเมอร์ที่ใช้งานได้จริง: จาก Journeyman to Master (Andy Hunt และ Dave Thomas)
The Pragmatic Programmer: จาก Journeyman to Master (Andrew Hunt และ David Thomas; Addison-Wesley 1999)
วิธีการฝึกโปรแกรมเมอร์ - จากคนงานขนาดเล็กไปจนถึงผู้เชี่ยวชาญ (แปลโดย Mavida, สื่ออุตสาหกรรมอิเล็กทรอนิกส์, 2004)
การเป็นนักพัฒนาที่มุ่งเน้นวัตถุที่บริสุทธิ์มีข้อได้เปรียบ ในสังคมที่ซับซ้อนในปัจจุบันในฐานะนักพัฒนาภาษา Java คุณมักจะต้องประนีประนอมเพื่อทำงานให้สำเร็จ ตามล่าและ
โทมัสสำรวจวิธีการทำงานให้เสร็จโดยไม่ลดทอนสิ่งที่สำคัญจริงๆ นี่ไม่ใช่หนังสือเกี่ยวกับภาษา Java แต่เป็นความคิดที่สำคัญในการอ่านสำหรับนักพัฒนาภาษา Java ตัวอย่างเช่นฉันไม่คิดว่าโปรแกรมเมอร์ที่ได้รับประโยชน์จากคำแนะนำที่ซื่อสัตย์ของ "การแก้ปัญหาไม่ใช่การหลบหนีความรับผิดชอบ" ไม่สามารถเซ็นชื่อที่มีชื่อเสียงในผลงานชิ้นเอกของเขาเหมือนศิลปินที่ภาคภูมิใจ
PeopleWare: โครงการและทีมงานที่มีประสิทธิผล (Tom DeMarco และ Timothy Lister)
PeopleWare: โครงการและทีมงานที่มีประสิทธิผล (Tom DeMarco, Timothy Lister; Dorset House, 1999)
เอกสารส่วนบุคคล (ฉบับที่ 2) (Umlchina Translation Group, สำนักพิมพ์มหาวิทยาลัย Tsinghua, 2003)
หนังสืออื่น ๆ ทั้งหมดในรายการนี้มีความเกี่ยวข้องกับเทคโนโลยีอย่างน้อย หนังสือเล่มนี้ไม่ใช่ ในมหาสมุทรของศัพท์แสงและคำย่อทางเทคนิคทั้งหมดบางครั้งนักพัฒนาซอฟต์แวร์และผู้จัดการลืม: เป็นคนที่สร้างซอฟต์แวร์ DeMarco และ Lister เตือนเราถึงข้อเท็จจริงนี้และเหตุผลของความแตกต่างนี้ นี่ไม่ใช่หนังสือเกี่ยวกับภาษาการเขียนโปรแกรมที่เฉพาะเจาะจง แต่เป็นหนังสือที่โปรแกรมเมอร์ภาษาชวาทุกคนควรอ่าน มีหนังสือดีๆอีกมากมายเกี่ยวกับ“ วิธีการเขียนโปรแกรมที่หมดแรงทำให้ผู้จัดการย้อนกลับ” แต่นี่เป็นหนังสือที่ดีที่สุด
การเรียนรู้ภาษาจาวาเริ่มต้นด้วยการอ่าน!