Sách từ lâu vẫn được xem như nguồn tri thức bất tận của con người. Tuy nhiên, trong thời đại công nghệ tiên tiến như hiện nay, chúng ta có xu hướng ỷ lại vào Internet nhiều hơn. Do đó mà số lượng người đọc sách cũng như thời gian đọc sách của mọi người dần trở nên khiêm tốn.
Sách quý đã ít, những cuốn mẫu mực dành cho lập trình lại càng ít hơn.
Công nghệ đang phát triển với tốc độ ánh sáng, các ngôn ngữ lập trình cũng như các công cụ mới liên tục được "đẻ" ra nhằm nhanh chóng lấp đầy thiếu sót của các công nghệ cũ cũng như giải quyết các bài toán mới. Trong thời gian vừa qua, những bộ óc xuất sắc nhất của giới IT đã gặp phải nhiều vấn đề tương tự và họ đã cố gắng đưa ra những giải pháp tốt nhất cho chúng. May mắn thay, phương pháp tiếp cận và xử lý các vấn đề ấy đã được cô đọng lại trong những cuốn sách kinh điển mà tôi sắp liệt kê dưới đây:
The Pragmatic Programmer
Cuốn sách này là viên ngọc của Software Engineering, được chế tạo và gọt giũa bởi bộ đôi Andrew Hunt và Davis Thomas.
"The Pragmatic Programmer" nhắc đến khá nhiều vấn đề, từ tiêu chuẩn với mỗi cá nhân, quá trình phát triển sự nghiệp cho đến các kiến trúc và design nhằm duy trì tính linh hoạt và khả năng tái sử dụng của code. Các kiến thức trong cuốn sách này có thể áp dụng cho mọi ngôn ngữ.
Tầm nhìn của "The Pragmatic Programmer" đưa ta đến với nhiều chủ đề thú vị như: "chống lại sự suy nhược của phần mềm"; "công cụ đắt tiền không mang lại cho ta design tốt"; "tránh tư duy theo lối mòn"; "cách viết code linh hoạt, mạnh mẽ", "vận dụng automation","xây dựng team theo phong cách "pragmatic" "; ......
"The Pragmatic Programmer" được viết thành từng phần độc lập, mỗi phần đều đi kèm với nhiều giai thoại hấp dẫn, các ví dụ điển hình cùng nhiều phép so sánh thú vị, và nó được kết thúc bằng nhiều lời khuyên rất thực tế, nhằm giúp bạn thay đổi bản thân cũng như những dòng code của mình theo hướng tích cực.
Nhờ tất cả các yếu tố trên, cuốn sách này vừa mang đến những kinh nghiệm hữu ích nhất, vừa như nhắc nhở chúng ta về những mặt tối trong nhiều khía cạnh khác nhau của quá trình phát triển phần mềm.
Bên cạnh việc thay đổi thói quen viết code, "The Pragmatic Programmer" có lẽ sẽ thay đổi cả tính cách của bạn theo hướng một Programmer thực thụ!
Clean Code: A Handbook of Agile Software Craftmanship
Đây là một tác phẩm kinh điển về nghệ thuật phát triển phần mềm của Robert C.Martin. Ngoài việc đề cập đến cách viết code, "Clean Code" còn đưa ra những phương thức tiếp cận và con đường phát triển đối với lĩnh vực phát triển phần mềm.
"Clean Code" có 3 phần:
- Phần 1 đưa ra các nguyên tắc, kiểu mẫu và những thói quen của việc viết code "sạch".
- Phần 2 nghiên cứu một số trường hợp cụ thể theo độ khó tăng dần. Mỗi trường hợp giống như một bài tập "làm đẹp" code để giúp chúng "biến hình" từ vịt con xấu xí thành thiên nga lộng lẫy.
- Phần 3 tổng hợp lại các kinh nghiệm và rắc rối trong quá trình xây dựng những ví dụ thực hành ở phần 2.
Tổng hợp lại chúng ta có một kho kiến thức nho nhỏ, chứa các phương pháp tư duy cho việc viết, đọc và "làm đẹp" cho code.
Mặc dù các ví dụ của "Clean Code" được viết bằng Java nhưng tư tưởng và tầm nhìn của nó hoàn toàn có thể áp dụng cho mọi ngôn ngữ. Cho dù bạn là ai: developer, software engineer, project manager, team lead, system analyst,... bạn vẫn nên "ngó" qua cuốn này nếu muốn code của mình tốt hơn.
The Clean Coder: A Code of Conduct for Professional Programmers
Lại một tác phẩm nữa của Robert C.Martin. Theo giang hồ đồn đại, bạn chỉ nên sờ đến cuốn này khi đã tu luyện xong "Clean Code". Đúng như tên gọi, "Clean Code" sẽ nói về code, còn "The Clean Coder" sẽ nhắc đến "người gõ code".
Trong bí kíp thứ 2 này, Robert C.Martin đề cập đến kỷ luật, kỹ thuật, cũng như các thói quen và công cụ cần thiết của một "nghệ nhân phần mềm". Bí kíp này cũng được đính kèm một cơ số các lời khuyên được đúc kết từ thực tế ở hầu hết các mảng của phát triển phần mềm, từ ước tính, đánh giá, coding cho đến refactoring và testing. Tuyệt vời hơn nữa, "The Clean Coder" không đơn thuần là một cuốn sách viết về kỹ thuật, nó còn là cẩm nang về cách duy trì thái độ và tinh thần làm việc đáng ngưỡng mộ của một "nghệ nhân phần mềm".
Bên cạnh đó, "The Clean Coder" cũng giải đáp kha khá các thắc mắc thường gặp của mọi programmer:
- Thế nào là một programmer chuyên nghiệp?
- Làm thế nào để biến bản thân thành một "nghệ nhân"?
- Làm thế nào để tận dụng các kỹ năng của chính mình?
- Cách đương đầu với những nhiệm vụ bất khả thi?
- Học cách đồng ý và từ chối đúng lúc.
........
Có thể bạn sẽ bất đồng với một vài quan điểm của tác giả nhưng chúng đều là những điều đang suy ngẫm! Có những thứ không được như bạn mong đợi nhưng biết đâu bạn sẽ cần đến nó sau này?
Code Complete: A Practical Handbook of Software Construction
Cuốn này được viết bởi Steve McConnell và xuất bản chính thức năm 1993.
"Code Complete" là một cuốn sách khổng lồ với hơn 960 trang. Nó tổng hợp tất cả các kỹ thuật và nguyên tắc hiệu quả thành những hướng dẫn rất ngắn gọn, xúc tích. Dù bạn là gà mờ đi chăng nữa, "Code Complete" sẽ nhắc nhở, kích thích, và hỗ trợ bạn viết ra những dòng code "đẹp nhất".
Chính vì "Code Complete" là một cuốn sách khổng lồ, nó đề cập đến hầu hết mọi khía cạnh của phát triển phần mềm, từ các vấn đề kỹ thuật như cấu trúc code, định dạng code, cách đặt tên biến, hàm cho đến việc quản lý team... "Code Complete" cũng kèm theo một danh sách tài liệu tham khảo rất đáng giá.
Rất ít người hoàn thành được cuốn sách này. Nếu bạn đang đọc hoặc chuẩn bị đọc nó, hãy cố gắng đến trang cuối cùng và bạn sẽ không hối hận!
The Mythical Man-Month: Essays on Software Engineering
Cuốn sách của Fred Brooks tập trung vào Software Engineering và Project Management. Phiên bản đầu tiên lưu hành từ năm 1975 đã chứa đựng quan điểm của chính tác giả trong quá trình quản lý dự án OS/360 ở IBM.
"The Mythical Man-Month" được gọi là "Kinh thánh của Software Engineering": tất cả mọi người đều trích dẫn những câu văn kinh điển của nó, một vài người đọc nó nhưng rất rất ít người làm theo! Có thể bạn chưa biết, nhưng tất cả các trích dẫn dưới đây đều nằm trong cuốn sách này.
Lập trình viên là những người rất lạc quan - Mọi thứ sẽ ổn thôi mà!
“All programmers are optimists: All will go well”
Bổ sung nhân lực cho một dự án chậm tiến độ sẽ càng làm nó chậm hơn.
“Adding manpower to a late software project makes it later”
Dù mẹ đứa trẻ là người như thế nào thì nó vẫn ra đời sau 9 tháng.
“Bearing of a child takes nine months, no matter how many women are assigned”
Đầu bếp hứa với bạn món trứng ốp la sẽ sẵn sàng trong 2 phút. Sau 2 phút, nếu nó chưa chín, bạn có 2 lựa chọn là ăn lòng đào hoặc đợi thêm. Khách hàng của chúng ta cũng vậy!
“An omelette, promised in two minutes, when not ready in two minutes, the customer has two choices – wait or eat it half-cooked. Software customers also have the same choices.”
Mặc dù cuốn sách này có một mặt tối, đó là công nghệ trong đó đã quá cũ - trên dưới 30 năm tuổi, thế nhưng điều này không làm giảm giá trị những câu truyện kinh điển của nó.
Để thấu hết được những tinh hoa của 5 cuốn sách trên, tôi tin bạn mất không dưới 1 năm. Và bằng giờ này năm sau, một danh sách những tác phẩm kinh điển nữa sẽ đợi bạn. Hãy cố gắng.
Nguồn techworm.net
Bình luận