ในฐานะโปรแกรมเมอร์ Java สิ่งที่เจ็บปวดที่สุดคือช่วงของตัวเลือกอาจกว้างเกินไปและสามารถอ่านหนังสือได้มากเกินไปซึ่งมักจะสูญเสีย ฉันต้องการเลือกหนังสือทางเทคนิคบางเล่มที่ฉันได้อ่านและแนะนำให้ทุกคนตามลำดับการเรียนรู้โดยเฉพาะโปรแกรมเมอร์ Java ที่ต้องการปรับปรุงระดับเทคนิคอย่างต่อเนื่อง
1. บทนำสู่การเขียนโปรแกรม Java
สำหรับโปรแกรมเมอร์ที่ไม่มีประสบการณ์การเขียนโปรแกรม Java พวกเขาควรเริ่มต้น หนังสือเบื้องต้นใด ๆ ก็เหมือนกัน ในขั้นตอนนี้คุณต้องควบคุมไวยากรณ์พื้นฐานและการใช้งานขั้นพื้นฐานของ Java อย่างรวดเร็ว จุดประสงค์คือ "กลืนพวกเขาทั้งหมดและไม่พยายามเข้าใจพวกเขามาก" ก่อนอื่นให้คุ้นเคยกับ Java คุณสามารถผ่านไวยากรณ์ Java ได้อย่างรวดเร็วในเวลาอันสั้นเขียนโค้ดเพิ่มเติมแม้ว่าคุณจะสับสนและคาดเดาและคุณต้อง "รู้ความจริง"
1. "ความคิดการเขียนโปรแกรม Java"
หลังจากมีประสบการณ์ในการเขียนโปรแกรม Java คุณต้อง "รู้ว่าทำไม" ในเวลานี้ "ความคิดการเขียนโปรแกรม Java" เป็นหนังสือที่ดีที่ช่วยให้คุณรู้เหตุผล มันมีคำอธิบายที่ชัดเจนเกี่ยวกับความรู้เชิงวัตถุพื้นฐานและคำอธิบายที่ชัดเจนเกี่ยวกับไวยากรณ์พื้นฐานของ Java และไลบรารีคลาสพื้นฐาน มันสามารถช่วยให้คุณวางรากฐานที่ดีสำหรับการเขียนโปรแกรม Java ข้อเสียของหนังสือเล่มนี้คือมันหนาเกินไปและค่อนข้างพูดและไม่เหมาะสำหรับคนสมัยใหม่ที่จะเรียนรู้อย่างรวดเร็ว ดังนั้นคุณต้องรู้วิธีการเลือกและแลกเปลี่ยนเมื่ออ่านหนังสือเล่มนี้ ไม่ใช่ทุกบทที่คุ้มค่าที่จะอ่าน แต่คุณสามารถอ่านประเด็นสำคัญในเชิงลึก
2. เวอร์ชั่นภาษาจีน "Agile Java"
หนังสือเล่มนี้มอบให้ฉันโดยสำนักพิมพ์ ทันทีที่ฉันได้รับมันฉันวางไว้บนชั้นวางและวางไว้ในตู้หนังสือโดยไม่ต้องพลิกมัน อย่างไรก็ตามเมื่อฉันคัดแยกตู้หนังสือเมื่อสองวันก่อนฉันก็เอามันออกมาและพลิกมันออกมาและพบว่ามันเป็นหนังสือที่ดีอย่างแน่นอน! คุณสมบัติที่สำคัญของหนังสือเล่มนี้คือการทดสอบหน่วยและ TDD ใช้ตลอดทั้งเล่ม ในกระบวนการสอนความรู้พื้นฐานที่สำคัญต่าง ๆ ของคุณใน Java มันส่งผลกระทบอย่างละเอียดต่อการเขียนโปรแกรมของคุณที่มีต่อความคล่องตัวและ TDD นอกจากนี้หนังสือเล่มนี้ยังใหม่มากและมีการอธิบายตามไวยากรณ์ของ JDK5.0 นอกจากนี้ยังเป็นการดีที่จะเรียนรู้ไวยากรณ์ใหม่ของ JDK5.0 นอกจากนี้หนังสือเล่มนี้ยังเป็นตัวเลือกที่ดีเกี่ยวกับเนื้อหา ท้ายที่สุดห้องสมุดภาษา Java นั้นมีขนาดใหญ่มากและมีเนื้อหามากเกินไปที่จะพูดคุย เนื้อหาที่เลือกโดยหนังสือเล่มนี้และปริมาณของเนื้อหามีความเหมาะสมมากซึ่งช่วยให้คุณสามารถควบคุมความรู้ที่สำคัญที่สุดของ Java ด้วยเวลาน้อยที่สุดและปลูกฝังแนวคิดการเขียนโปรแกรมที่ยอดเยี่ยมโดยวิธีการ มันเป็นหนังสือที่หายากและดีจริงๆ
แม้ว่าผู้เขียนเองจะวางตำแหน่งหนังสือในระดับเริ่มต้น แต่ฉันไม่แน่ใจว่าหนังสือเล่มนี้จะเริ่มต้นได้หรือไม่ ฉันวางแผนที่จะอ่านหนังสือเล่มนี้เมื่อฉันมีเวลาและเรียนรู้
2. คลาสการเขียนโปรแกรม Java ขั้นสูง
การวางมูลนิธิชวาที่ดีต้องใช้การสะสมประสบการณ์ที่ใช้งานได้จริงมากขึ้นและฉันคิดว่าไม่มีทางลัด มีหนังสือสองเล่มที่ควรค่าแก่การอ่านในขั้นตอนของอาชีพการเขียนโปรแกรมของคุณพัฒนานิสัยการเขียนโปรแกรมที่ดีและปรับปรุงคุณภาพของรหัสของคุณ
1. "refactoring และปรับปรุงการออกแบบรหัสที่มีอยู่"
หนังสือเล่มนี้มีชื่อเสียงมากและไม่จำเป็นต้องแนะนำ คุณสามารถอ่านได้มากขึ้นในเวลาว่างและยืนยันด้วยการฝึกฝนของคุณเอง หนังสือเล่มนี้มีผลกระทบเล็กน้อยต่อคุณ
2. "การพัฒนาที่ขับเคลื่อนด้วยการทดสอบโดยตัวอย่าง"
คุณสมบัติที่ใหญ่ที่สุดของหนังสือเล่มนี้คือมันบางมากและดูเหมือนว่ามันจะไม่เป็นภาระ คุณสามารถหาช่วงบ่ายวันหยุดสุดสัปดาห์อ่านได้ในขณะที่ทำและอ่านหนังสือเสร็จในบ่ายวันหนึ่งและตัวอย่างทั้งหมดของหนังสือเล่มนี้จะเสร็จสมบูรณ์ จุดประสงค์ของหนังสือเล่มนี้คือการปลูกฝังความคิดของ TDD ผ่านการต่อสู้จริง
3. ถนนสู่จาวาสถาปนิก
ในขั้นตอนนี้คุณควรมีทักษะในการใช้การเขียนโปรแกรม Java และมีแนวคิดและนิสัยการเขียนโปรแกรมที่ดี แต่คุณอาจยังขาดความเข้าใจของสถาปัตยกรรมโดยรวมของซอฟต์แวร์แอปพลิเคชัน ตอนนี้เป็นก้าวแรกของคุณต่อสถาปนิก
1. "ผู้เชี่ยวชาญด้านการออกแบบและพัฒนา J2EE แบบตัวต่อตัว"
หนังสือเล่มนี้เป็นหนังสือที่มีชื่อเสียงโดย Rod Johnson คลาสสิกมากและ SpringFramework เกิดจากรหัสในหนังสือเล่มนี้ แต่ดูเหมือนว่าหนังสือเล่มนี้ไม่มีการแปลภาษาจีน
2. "ผู้เชี่ยวชาญด้านการพัฒนา J2EE แบบตัวต่อตัวโดยไม่มี EJB"
หนังสือเล่มนี้แปลโดย Gigix และเข้าร่วมโดยผู้เชี่ยวชาญในอุตสาหกรรมหลายคน แม้ว่านักแปลที่ลงนามคือ Javaeye แต่ Javaeye ก็ไม่ได้มีส่วนร่วมมากนักและเป็นนักแปลจริงๆ
หนังสือสองเล่มข้างต้นเป็นคลาสสิกคลาสสิกโดย Rod Johnson และต้องอ่านหนังสือสำหรับสถาปนิก Java ในบรรดาหนังสือที่ฉันแนะนำพวกเขาเป็นหนังสือที่ระมัดระวังและจริงจังที่สุดที่ฉันเคยอ่าน ฉันอ่านหนังสือเล่มนี้เกือบจะในครั้งเดียว ฉันตื่นเต้นมากที่ได้อ่านนวนิยายศิลปะการต่อสู้ของจินยงเมื่อฉันยังเป็นเด็ก เนื้อหาและประสบการณ์และความรู้ของฉันได้รับการตรวจสอบทีละคนและสรุปได้อย่างไม่น่าเชื่อ หลังจากอ่านหนังสือเล่มนี้ฉันรู้สึกว่าเส้นเมอริเดียนของฉันเปิดออกและทักษะของฉันก็เพิ่มขึ้น
แต่ต่อมาฉันอ่านความคิดเห็นของคนอื่นและดูเหมือนว่าประสบการณ์การอ่านจะไม่สูงเท่ากับของฉัน อาจเป็นเพราะการสะสมความรู้และประสบการณ์ของทุกคนแตกต่างกัน ในเวลานั้นฉันได้สะสมประสบการณ์และความรู้อย่างเพียงพอ แต่ฉันยังไม่ได้จัดระเบียบอย่างเป็นระบบ หลังจากที่หนังสือเล่มนี้ถูกแยกออกฉันได้สร้างระบบความรู้ที่สมบูรณ์ทันที
3. "โมเดลสถาปัตยกรรมแอปพลิเคชันระดับองค์กร"
หนังสือที่มีชื่อเสียงอีกเล่มหนึ่งของมาร์ติน แต่ฉันเพิ่งอ่านหนังสือเล่มนี้โดยทั่วไปและไม่ได้อ่านอย่างระมัดระวัง หนังสือเล่มนี้ดูเหมือนจะเหมาะสมกว่าสำหรับผู้ที่เป็นเฟรมเวิร์กที่จะอ่าน ตัวอย่างเช่นหากคุณวางแผนที่จะเขียน ORM ด้วยตัวคุณเองหนังสือเล่มนี้จะต้องอ่าน อย่างไรก็ตามมันไม่สำคัญว่าคุณจะไม่ดู อย่างไรก็ตามหากคุณมีเวลาฉันขอแนะนำให้ดูอย่างรอบคอบซึ่งจะช่วยให้คุณรู้ว่าทำไมเฟรมเวิร์กได้รับการออกแบบในลักษณะนี้เพื่อให้ระดับของคุณสามารถเลื่อนระดับให้เป็นมุมมองของนักออกแบบกรอบงานเพื่อคิดเกี่ยวกับปัญหา ฉันชื่นชมหนังสือของมาร์ตินมาตลอด แต่ฉันไม่เคยอ่านหนังสืออย่างจริงจังเหมือนหนังสือของร็อดจอห์นสัน
4. "หลักการแบบจำลองและแนวทางปฏิบัติของการพัฒนาซอฟต์แวร์ว่องไว"
ผลงานคลาสสิกของลุงบ๊อบ, Agile Classic Works หนังสือเล่มนี้ค่อนข้างพิเศษ มันไม่ได้เป็นหนังสือเกี่ยวกับการพัฒนาซอฟต์แวร์มากนัก แต่เป็นหนังสือเกี่ยวกับสถาปัตยกรรมซอฟต์แวร์ หนังสือเล่มนี้ใช้พื้นที่มากมายในรูปแบบการพัฒนาซอฟต์แวร์ที่มุ่งเน้นวัตถุต่างๆ โดยส่วนตัวฉันคิดว่าหลังจากอ่านหนังสือเล่มนี้ไม่จำเป็นต้องอ่าน "รูปแบบการออกแบบ" ของ GOF
4. กระบวนการพัฒนาซอฟต์แวร์
การทำความเข้าใจกระบวนการพัฒนาซอฟต์แวร์ไม่ได้เป็นเพียงการปรับปรุงพฤติกรรมการเขียนโปรแกรมที่ดีส่วนตัวของโปรแกรมเมอร์ แต่ยังเพื่อเพิ่มความร่วมมือจากทีม
1. "uml essence"
UML ไม่มีการเชื่อมต่อที่จำเป็นกับกระบวนการพัฒนาซอฟต์แวร์ แต่เป็นเครื่องมือที่จำเป็นสำหรับทีมซอฟต์แวร์ในการทำงานร่วมกันและสื่อสารและเขียนเอกสารซอฟต์แวร์ อย่างไรก็ตามมีรูปภาพไม่มากนักที่ใช้งานได้จริงใน UML มันเพียงพอที่จะอ่านหนังสือเล่มนี้ ไม่จำเป็นต้องเคี้ยวสิ่งต่าง ๆ เช่น "คู่มือผู้ใช้ UML" ฉันอยากจะเตือนทุกคนว่าการแปลภาษาจีนของหนังสือเล่มนี้แย่มากและขอแนะนำให้อ่านเวอร์ชันภาษาอังกฤษดั้งเดิมถ้าเป็นไปได้
2. "การวิเคราะห์การเขียนโปรแกรมสุดขั้วโอบกอดการเปลี่ยนแปลง" XP
นี่เป็นงานคลาสสิกของ Kent Beck รุ่นที่สองการเปรียบเทียบเป็นภาษาจีนและภาษาอังกฤษ ไม่มีอะไรจะพูดต้องอ่านหนังสือ
3. "กระบวนการพัฒนาซอฟต์แวร์แบบครบวงจร" ขึ้น
ในความเป็นจริงแล้ว Agile ไม่จำเป็นต้องขัดแย้งกัน ยังเน้นย้ำการทำซ้ำและการทดสอบเป็นอย่างมาก แต่เอกสารและไดรเวอร์กระบวนการที่เน้นโดย UP ไม่ได้รับการรับรองโดย Agile ไม่ว่าจะเกิดอะไรขึ้นก็คุ้มค่าที่จะอ่าน ท้ายที่สุดมี บริษัท เพียงไม่กี่แห่งที่ยอมรับความคล่องตัวในประเทศจีนอย่างแท้จริงดังนั้นคุณยังต้องใช้แขนของคุณเองแม้ว่าจะเป็น XP
4. "Agile Modeling" AM
หนังสือคลาสสิกของ Scott Ambler หนังสือเล่มนี้เป็นเรื่องที่น่าตื่นเต้นมากบอกคุณว่าจะเป็นทั้งความคล่องตัวและเพิ่มขึ้นได้รวมตัวกันแบบ Agile และขึ้นและหยิบยกคำแนะนำและการปฏิบัติมากมาย คุณสามารถอ่านหนังสือสามเล่ม "การวิเคราะห์การเขียนโปรแกรมสุดขีดโอบกอดการเปลี่ยนแปลง", "กระบวนการพัฒนาซอฟต์แวร์แบบครบวงจร" และ "การสร้างแบบจำลองว่องไว" ร่วมกันเพื่ออ่านความแตกต่างระหว่าง XP และ UP แล้วดูว่าการรวม XP ขึ้นไปรวมทฤษฎีทั้งสามนี้เข้าด้วยกันและสร้างระบบทฤษฎีของคุณเอง
5. การจัดการโครงการซอฟต์แวร์
หากคุณได้รับการเลื่อนตำแหน่งให้เป็นผู้จัดการโครงการโดยผู้นำของคุณและคุณไม่มีประสบการณ์การจัดการโครงการเลยคุณจะไม่แน่ใจ หากคุณรู้สึกว่าคุณไม่เก่งในการจัดการโครงการและต้องการปรับปรุงความสามารถในการจัดการโครงการของคุณการสอบ PMP จะอยู่ไกลออกไปอย่างแน่นอนและไม่ดับความกระหายของคุณ
1. "การพัฒนาซอฟต์แวร์อย่างรวดเร็ว"
นี่เป็นหนังสือที่มีชื่อเสียง อาจกล่าวได้ว่าในหนังสือเล่มนี้ในมือคุณจะมีที่ปรึกษาด้านการจัดการโครงการอาวุโสเพื่อให้คำแนะนำและคุณจะไม่ต้องกังวลเกี่ยวกับการไร้ความสามารถของคุณอีกต่อไป หนังสือเล่มนี้ไม่ได้พูดถึงทฤษฎีการจัดการ ในการจัดการโครงการจริงการพูดคุยเกี่ยวกับทฤษฎีเหล่านี้จะไม่แก้ปัญหา หนังสือเล่มนี้คล้ายกับ "คอลเลกชันแนวคิดโครงการซอฟต์แวร์" มันแสดงปัญหาต่าง ๆ ที่ต้องเผชิญกับโครงการซอฟต์แวร์และแนวคิดต่าง ๆ เกี่ยวกับวิธีการแก้ปัญหา คุณจะต้องทำการเปลี่ยนแปลงบางอย่างและค้นหาใบสั่งยาเพื่อรับยา
6. สรุป
ในรายการหนังสืออ่านที่แนะนำนี้ฉันไม่ได้แสดงรายการหนังสือการเรียนรู้เฟรมเวิร์กเฟรมเวิร์กยอดนิยมเช่น Struts, Hibernate, Spring, ฯลฯ และฉันจะไม่แสดงรายการหนังสือ AJAX นี่เป็นเพราะหนังสือประเภทนี้เป็นเรื่องง่ายที่จะล้าสมัยและหนังสือส่วนใหญ่ที่กล่าวถึงข้างต้นมีวงจรชีวิตที่ยาวนานซึ่งคุ้มค่าที่จะซื้อและรวบรวม