Clean Code: A Handbook of Agile Software Craftsmanship
Clean Code: A Handbook of Agile Software Craftsmanship được xem là quyển sách gối đầu của nhiều developer trên thế giới.
Mỗi quyển sách mà tác giả huyền thoại Robert C. Martin hay còn được gọi với cái tên Uncle Bob viết ra đều được cộng đồng phát triển phần mềm đón nhận nồng nhiệt vì nội dung vô cùng chất lượng, cũng như kiến thức đồ sộ có trong quyển sách.
Nội dung quyển sách Clean code được chia làm 3 phần:
- Phần thứ nhất, Uncle Bob liệt kê các quy tắc, patterns, thực hành cách viết clean code
- Phần thứ hai, tác giả tổng hợp các ví dụ minh hoạ về độ phức tạp càng ngày càng tăng của code. Mỗi case study là một bài thực hành chuyển đổi code base đang có vấn đề sang một cleaned code base một cách hợp lý và hiệu quả nhất.
- Phần thứ ba, là một chương độc lập bao gồm danh sách các kinh nghiệm đúc kết sau khi xem xét chi tiết các case study thực tế. Mỗi kết quả được đánh giá đều phản ánh chính xác cách các developer viết, đọc và “clean code”.
Quyển sách này giành cho các lập trình viên Java Developer, Software Engineer, Project Manager, Team Lead, Systems Analyst. Những người trực tiếp tham gia vào việc phát triển hệ thống và mong muốn cải thiện hệ thống bằng cách clean code.
Sau khi đọc xong Clean Code. Người đọc sẽ nắm được chi tiết các thông tin như:
- Cách để nhận biết sự khác biệt giữa bad code / good code
- Cách viết good code và cách biến bad code thành good code
- Cách tạo good names, good functions, good objects, và good classes
- Cách format code để có thể đọc được tối đa
- Cách unit test và thực hành test-driven development
Effective Java
Effective Java là quyển sách rất nổi tiếng được viết bởi tác giả Joshua Bloch. Ông là giáo sư, tiến sĩ tại Đại học Carnegie Mellon. Từng là Chief Java Architect tại Google. Ông đã lãnh đạo việc thiết kế và triển khai nhiều tính năng của nền tảng Java, bao gồm các cải tiến ngôn ngữ JDK 5.0 và Java Collections Framework.
Sau khi được xuất bản lần đầu năm 2001, quyển sách lập tức gây được tiếng vang trong giới phần mềm vì kiến thức được truyền tải đến người đọc vô cùng chất lượng. Đồng thời sách đoạt được giải thưởng Jolt (Giải thưởng được vinh danh hằng năm bởi Software Development Magazine cùng năm).
Vậy nên, Effective Java luôn nằm trong top các quyển sách nhất định phải đọc đối với bất kỳ lập trình viên Java Developer nào.
Mỗi chương của cuốn Effective Java bao gồm danh sách các “item”. Mỗi item được trình bày dưới dạng một bài tiểu luận ngắn, cung cấp lời khuyên cụ thể, hiểu biết sâu sắc về nền tảng Java và đi kèm với các ví dụ code cụ thể. Sau mỗi item sẽ có lời giải thích toàn diện, làm sáng tỏ những gì nên làm, những gì không nên làm và tại sao.
Phiên bản mới nhất của quyển sách bao gồm các tính năng và thư viện được thêm vào trong Java 7, 8 và 9…
Vì Joshua Block là một trong những developer đứng đằng sau nền tảng ngôn ngữ Java và tất cả các thư viện chính được Oracle hỗ trợ. Vậy nên Effective Java cũng cho bạn nhìn thấy “hậu trường” của lập trình Java theo cách mà bạn có thể chưa từng thấy trước đây. Rất ít quyển sách thực sự cho phép bạn nhìn thấy những chi tiết bên trong một ngôn ngữ lập trình như thế.
Java Concurrency in Practice
Java Concurrency in Practice là quyển sách được xuất bản tháng 5 năm 2006 bởi nhiều tác giả. Trong đó có những cái tên đã rất nổi tiếng trước đó như Joshua Bloch, Brian Goetz, Tim Peierls, Joseph Bowbeer, David Holmes, Doug Lea.
Các tác giả này đều là những nhân vật gạo cội trong cộng đồng Java. Ngoài ra, một trong số họ đã đóng góp những quyển sách nổi tiếng, được yêu thích và đánh giá cao như: Effective Java, Object-Oriented System Development,…
Java Concurrency in Practice đi sâu vào giải thích cách Java Concurrency hoạt động và các design pattern được sử dụng đằng sau chúng.
Việc phát triển, testing và debug các multithread programs thường rất khó khăn. Trong khi đó, việc tạo các concurrent programs hoạt động thì lại dễ dàng nhưng thường gặp phải thất bại lớn liên quan đến vấn đề sử dụng tài nguyên và performance. Java Concurrency in Practice cung cấp cho người đọc cả nền tảng lý thuyết và kỹ thuật cụ thể để xây dựng các concurrent program đáng tin cậy, có thể mở rộng và có thể bảo trì.
Cuốn sách này bao gồm:
- Các khái niệm cơ bản về concurrency and thread safety
- Các kỹ thuật xây dựng và composing thread-safe classes
- Cách sử dụng concurrency building blocks trong java.util.concurrent
- Giải thích việc nên và không nên tối ưu hóa hiệu suất
- Testing concurrent programs
- Các chủ đề nâng cao như: thuật toán nonblocking, Java Memory Model…
Xem thêm: Top 3 quyển sách kinh điển về Design Patterns cho developer
Head First Java: A Learners Guide to Real-World Programming
Head First Java lần đầu ra mắt năm 2003. Khác với các quyển sách chuyên môn phần mềm được viết từ trước đến nay. Dòng sách Head First giúp người đọc ghi nhớ kiến thức bằng cách minh hoạ nội dung bằng hình ảnh. Đối với não bộ, việc sử dụng hình ảnh trong nhiều trường có giá trị ghi nhớ tốt hơn rất nhiều so với văn bản.
Head First Java là một trải nghiệm học tập hoàn toàn khác biệt về Java và lập trình hướng đối tượng. Với cuốn sách này, bạn sẽ học ngôn ngữ Java bằng một phương pháp độc đáo thông qua các câu đố, bí ẩn và các bài “phỏng vấn”. Bằng cách này, bạn sẽ nhanh chóng bắt kịp tốc độ về các nguyên tắc cơ bản của Java và các chủ đề nâng cao bao gồm lambdas, stream, thread, network…
Quyển sách Head First Java phù hợp với các Java developer hoặc bất kỳ ai muốn học và tiếp cận ngôn ngữ lập trình này theo cách dễ dàng nhất.
Tham khảo: Học lập trình Java chuyên nghiệp trên Educative.io