Sách được coi là nguồn kiến thức và trí tuệ khổng lồ nhưng càng ngày càng ít được con người sử dụng. Và đặc biệt là với các coder – lập trình viên vì họ thường xuyên sử dụng kết quả tìm kiếm trên internet.
Tuy mỗi ngôn ngữ hay công cụ khác nhau đều có những lỗi khác nhau, nhưng những cuốn sách sau đây có thể giúp bạn tiếp cận và giải quyết các vấn đề đó.
The Pragmatic Programmer
Đây là một cuốn sách vô cùng quý giá về kỹ thuật phần mềm được viết bởi Andrew Hunt và David Thomas. Kiến thức trong sách này áp dụng cho tất cả các ngôn ngữ lập trình, vì vậy cuốn sách này không phải về một ngôn ngữ lập trình cụ thể nào. Nó bao quát tất cả các chủ đề từ trách nhiệm cá nhân và phát triền nghề nghiệp đến kĩ năng kiến trúc để code của bạn linh hoạt và dễ dàng áp dụng hoặc sử dụng lại.
Tầm nhìn trong cuốn sách này mở rộng ra cả một só lĩnh vực thú vị khác như “tracer bullets” (đối tượng hướng đến); chống lại lỗi phần mềm; những công cụ đắt đỏ không xây dựng nên những thiết kế tuyệt vời; tránh trùng lặp kiến thức; viết những dòng code linh hoạt, thú vị và dễ ứng dụng; tránh lập trình trùng lặp, bảo vệ code bằng hợp đồng, điều khoản và ngoại lệ; chú ý đến các yêu cầu; kiểm tra một cách nghiêm túc và hiệu quả; xây dựng một đội lập trình viên hay coder; viết code, tách quyền xem khỏi code mẫu và khiến cho chương trình đáng giá hơn với sự tự động.
Được viết như một chuỗi những lựa chọn có sẵn và gồm những giai thoại thú vị, những ví dụ ý nghĩa và những đoạn hội thoại hài hước, cuốn sách này thể hiện những ứng dụng và hạn chế từ nhiều khía cạnh của các ngôn ngữ lập trình.
Cuốn sách này không chỉ thay đổi thói quen lập trình mà còn thay đổi tính cách của một coder. Nó được kết thúc bằng những lời khuyên thực tế tốt nhất cho cả bạn và code của bạn.
Clean Code: A Handbook of Agile Software Craftsmanship
Viết bởi Robert C. Martin, đây là một cuốn sách kinh điển về những nhà lập trình phần mềm chuyên nghiệp. Bạn đã bao giờ nhìn vào dòng code của ai đó và nói “Cái gì thế này?” Hãy bình tĩnh, đó là những người chưa đọc Clean Code.
Một cuốn sách đáng đọc về những nhà lập trình phần mềm chuyên nghiệp, không chỉ là cuốn sách sẽ cho bạn biết làm thế nào để viết code tốt, mà cũng là một cách hiệu quả để phát triển và phương pháp tiếp cận phát triển phần mềm. Nó sẽ cho bạn thấy những giá trị của một lập trình viên phần mềm chuyên nghiệp và làm cho bạn trở thành một lập trình viên tốt hơn nhưng chỉ khi bạn đã đọc nó.
“Clean Code” được chia thành ba phần. Phần đầu tiên mô tả các nguyên tắc, mẫu và ứng dụng của việc viết code gọn gàng. Phần thứ hai bao gồm một số trường hợp nghiên cứu phức tạp. Mỗi trường hợp nghiên cứu là một thực tiễn về dọn code bằng cách chuyển đổi một code cơ sở có vấn đề vào một nơi an toàn và hiệu quả. Phần thứ ba là phần thêm: thu thập được một chương có chứa một danh sách các chẩn đoán và lỗi tạo ra trong quá trình nghiên cứu trường hợp. Kết quả là một cơ sở kiến thức mô tả cách chúng tôi nghĩ khi chúng tôi viết, đọc, và dọn code.
Trong khi tất cả các ví dụ trong cuốn sách này là về Java, các bài học này có thể được áp dụng cho bất kỳ ngôn ngữ lập trình. Cuốn sách này là cuốn sách phải đọc cho bất kỳ nhà phát triển, kỹ sư phần mềm, quản lý dự án, coder trưởng nhóm, hoặc nhà phân tích hệ thống với mối quan tâm đến sản xuất mã tốt hơn.
The Clean Coder: A Code of Conduct for Professional Programmers
Một lần nữa, đây là một cuốn sách lập trình khác đến từ Robert C. Martin. Chúng tôi khuyến khích bạn đọc cuốn sách này sau cuốn “Clean Code”. Trong khi “Clean Code” chỉ về code, cuốn sách này là về “Coder”.
Trong cuốn sách này, Martin giới thiệu môn học, kỹ thuật, công cụ và ứng dụng của một lập trình viên phần mềm (coder) thực thụ. Cuốn sách này được viết với các lời khuyên thiết thực về tất cả mọi thứ từ các ước tính và mã hóa đến viết lại và thử nghiệm. Nó bao gồm nhiều hơn là kỹ thuật: đó là về thái độ. Martin cho thấy làm thế nào để tiếp cận phát triển phần mềm với vinh dự, tự tôn trọng và niềm tự hào; làm việc tốt và làm việc sạch sẽ; giao tiếp và ước tính một cách trung thực; những quyết định khó khăn phải đối mặt với sự dứt khoát và trung thực; và hiểu sâu sắc kiến thức đi kèm với một trách nhiệm làm việc.
Cuốn sách cũng khám phá các chủ đề lập trình thường bỏ qua.
• Lập trình viên chuyên nghiệp hay coder có nghĩa là gì?
• Làm thế nào để biến mình thành một lập trình viên phần mềm lành nghề?
• Làm thế nào để quản lý các kỹ năng của bạn?
• Làm thế nào để đối phó với xung đột, lịch trình dày đặc, và nhà quản lý vô lý?
• Làm thế nào để xử lý các áp lực liên tục và tránh stress?
• Làm thế nào để quản lý thời gian, và tránh các bẫy khi lập trình?
• Khi nào thì nói “Không” và làm thế nào để nói nó?
• Khi để nói “Có” và “Có” có nghĩa là gì?
•… và nhiều hơn nữa.
Bạn có thể không luôn luôn đồng ý với một số phần của tác giả, nhưng nó cung cấp tài liệu tốt cho suy nghĩ. Nó có thể không là những gì bạn mong đợi, nhưng có thể chỉ là những gì bạn cần.
Code Complete: A Practical Handbook of Software Construction
Viết bởi Steve McConnell và xuất bản vào năm 1993, “Code Complete” là một cuốn sách phát triển phần mềm kêu gọi các nhà phát triển sử dụng lập trình-và-sửa chữa code và thiết kế khổ lớn phía trước mô hình thác nước. Nó cũng là một bản tóm tắt kỹ thuật xây dựng phần mềm, từ cách đặt tên biến để quyết định khi viết một chương trình con và phải đọc.
Đây là một cuốn sách khổng lồ phải đọc mà chỉ ra các kỹ thuật hiệu quả nhất và nguyên tắc phải biết về hướng dẫn rõ ràng, thực chất. Cuốn sách này sẽ thông báo và kích thích suy nghĩ của bạn và giúp bạn xây dựng code chất lượng cao nhất mà không kể đến cấp độ kinh nghiệm của bạn, môi trường phát triển, hoặc quy mô dự án.
Mọi khía cạnh của phát triển phần mềm được viết trong cuốn sách này bao gồm từ cấu trúc code, định dạng code, phương pháp biến và đặt tên lớp, cho đến làm thế nào để quản lý một đội ngũ. Ngoài ra, trong cuốn sách còn là nguồn vô tận tài liệu tham khảo và các tài liệu bổ sung bao gồm các chủ đề cụ thể.
Bạn chắc chắn có một lợi thế nếu bạn đọc cuốn sách này, như là chỉ có một tỷ lệ nhỏ của phát triển phần mềm đọc cuốn sách này.
The Mythical Man-month: Essays on Software Engineering
Mythical Man-Month: Essays on Software Engineering là một cuốn sách về công nghệ phần mềm và quản lý dự án của Fred Brooks, có chủ đề chính là “thêm nhân lực vào một dự án phần mềm chỉ làm nó mất thời gian”.
Cuốn sách kinh điển này được xuất bản lần đầu năm 1975, trong đó bao gồm những quan sát của Brooks dựa trên kinh nghiệm của ông tại IBM khi quản lý sự phát triển của OS/360. Cuốn sách này từng được gọi là “The Bible of Software Engineering”, vì “tất cả mọi người đã trích dẫn nó, một số người đọc nó, và một vài người đi theo nó.” Cuốn sách được coi là một kinh điển về các yếu tố con người trong công nghệ phần mềm.
Thật ngạc nhiên khi biết rằng báo giá dưới đây tất cả đến từ cuốn sách.
” Tất cả các lập trình viên (coder) đều lạc quan: tất cả mọi thứ rồi sẽ ổn”
” Thêm nhân lực vào một dự án phần mềm chỉ làm nó mất thời gian ”
” Mang thai một đứa trẻ mất chín tháng, dù bao nhiêu người phụ nữ mang thai”
” Một quả trứng omelette, lí tưởng là sẽ chín trong hai phút, nếu nó chưa chín trong hai phút, khách hàng có hai sự lựa chọn – chờ đợi hoặc ăn chưa chín. Khách hàng phần mềm cũng có cùng lựa chọn.”
Thật tồi tệ khi mà năm này qua năm khác, ta mắc cùng một sai lầm trong phát triển phần mềm. Đây là một cuốn sách phải đọc cho tất cả các nhà quản lý và phát triển dự án.
Trong khi cuốn sách có những sự lựa chọn tuyệt vời về bài tiểu luận, có một điểm trừ duy nhất là nguồn tham khảo của cuốn sách này là những công nghệ đã cách đây 25 năm. Nhưng nó không hề làm giảm giá trị của cuốn sách này.
Nguồn: techworm.net