Cuốn sách có ảnh hưởng nhất mà mỗi lập trình viên nên đọc là gì? [đóng cửa]


1439

Nếu bạn có thể quay ngược thời gian và bảo mình đọc một cuốn sách cụ thể khi bắt đầu sự nghiệp với tư cách là một nhà phát triển, thì đó sẽ là cuốn sách nào?

Tôi hy vọng danh sách này sẽ được thay đổi và bao gồm nhiều thứ.

Để tìm kiếm: Sử dụng hộp tìm kiếm ở góc trên bên phải. Để tìm kiếm câu trả lời của câu hỏi hiện tại, sử dụng inquestion:this. Ví dụ:

inquestion:this "Code Complete"

8
Duyệt qua chủ đề này làm cho tôi nhận ra hầu hết các cuốn sách liên quan đến lập trình xấu xí như thế nào. Chủ đề rất tốt mặc dù!
Carl Bergquist

23
Điều thú vị là, trong khi tiêu đề có nội dung "Cuốn sách có ảnh hưởng nhất mà mọi lập trình viên nên đọc là gì?", Có khá nhiều cuốn sách được đề xuất liên quan đến các chủ đề cụ thể về ngôn ngữ. Theo định nghĩa và bằng câu hỏi như đã đặt, những cuốn sách được đề xuất ở đây nên giải quyết các chủ đề bất khả tri ngôn ngữ, điều này chứng tỏ hầu hết các lập trình viên vẫn chưa học cách đọc.
Rook

19
Nếu tôi có thể quay ngược thời gian và tự nhủ mình phải đọc một cái gì đó, tốt hơn là một tờ báo hoặc cuốn sách thực tế thể thao mà tôi mang theo bên mình. Bất cứ điều gì khác là một sự lãng phí thời gian du lịch tốt. :-)
jmucchiello

32
Bạn biết đấy, nếu tôi không lo lắng về việc bỏ phiếu nhiều WHOLE, tôi sẽ trollish và đề nghị Twilight. "C ALNG về những người xanh xao và tránh ánh nắng mặt trời!"
Jacob Bellamy

3
Ai đó có thể dọn dẹp câu trả lời bằng cách xóa các mục lặp đi lặp lại trên sách không? Hầu hết trong số họ đã bỏ phiếu.
rao

Câu trả lời:


1746
  • Code Complete (phiên bản 2) của Steve McConnell
  • Lập trình viên thực dụng
  • Cấu trúc và giải thích các chương trình máy tính
  • Ngôn ngữ lập trình C của Kernighan và Ritchie
  • Giới thiệu về thuật toán của Cormen, Leiserson, Rivest & Stein
  • Các mẫu thiết kế của Gang of Four
  • Tái cấu trúc: Cải thiện thiết kế mã hiện có
  • Tháng người đàn ông huyền thoại
  • Nghệ thuật lập trình máy tính của Donald Knuth
  • Trình biên dịch: Nguyên tắc, Kỹ thuật và Công cụ của Alfred V. Aho, Ravi Sethi và Jeffrey D. Ullman
  • Gôdel, Escher, Bach của Douglas Hofstadter
  • Clean Code: Cẩm nang về thủ công phần mềm linh hoạt của Robert C. Martin
  • C ++ hiệu quả
  • C ++ hiệu quả hơn
  • của Charles Petzold
  • Ngọc trai lập trình của Jon Bentley
  • Làm việc hiệu quả với Bộ luật kế thừa của Michael C. Feathers
  • Phần mềm con người của Demarco và Lister
  • Coders tại nơi làm việc của Peter Seibel
  • Chắc chắn là bạn đang đùa, ông Feynman!
  • Phiên bản Java 2 hiệu quả
  • Các mô hình kiến ​​trúc ứng dụng doanh nghiệp của Martin Fowler
  • Tiểu thư
  • Sơ đồ dày dạn
  • Hướng dẫn tại sao (sâu sắc) về Ruby
  • Các tù nhân đang chạy tị nạn: Tại sao các sản phẩm công nghệ cao khiến chúng tôi phát điên và làm thế nào để khôi phục sự tỉnh táo
  • Nghệ thuật lập trình Unix
  • Phát triển dựa trên thử nghiệm: Ví dụ của Kent Beck
  • Thực tiễn của một nhà phát triển Agile
  • Đừng làm tôi suy nghĩ
  • Phát triển phần mềm, nguyên tắc, mô hình và thực tiễn Agile của Robert C. Martin
  • Thiết kế hướng tên miền của Eric Evans
  • Thiết kế của mọi thứ hàng ngày của Donald Norman
  • Thiết kế C ++ hiện đại của Andrei Alexandrescu
  • Phần mềm tốt nhất tôi viết bởi Joel Spolsky
  • Thực hành lập trình của Kernighan và Pike
  • Suy nghĩ và học tập thực dụng: Tái cấu trúc Wetware của bạn bởi Andy Hunt
  • Ước tính phần mềm: Làm sáng tỏ nghệ thuật đen của Steve McConnel
  • Lập trình viên đam mê (Công việc của tôi đã đi đến Ấn Độ) của Chad Fowler
  • Hacker: Anh hùng của cuộc cách mạng máy tính
  • Thuật toán + Cấu trúc dữ liệu = Chương trình
  • Viết mã rắn
  • JavaScript - Phần tốt
  • Bắt Real bằng 37 Tín hiệu
  • Nền tảng lập trình của Karl Seguin
  • Đồ họa máy tính: Nguyên tắc và thực hành trong C (Phiên bản 2)
  • Suy nghĩ bằng Java của Bruce Eckel
  • Các yếu tố của hệ thống máy tính
  • Tái cấu trúc các mẫu của Joshua Kerievsky
  • Hệ điều hành hiện đại của Andrew S. Tanenbaum
  • Turing chú thích
  • Những điều làm cho chúng ta thông minh của Donald Norman
  • Con đường vượt thời gian của Christopher Alexander
  • Hạn chót: Tiểu thuyết về Quản lý dự án của Tom DeMarco
  • Ngôn ngữ lập trình C ++ (ấn bản thứ 3) của Stroustrup
  • Các mô hình kiến ​​trúc ứng dụng doanh nghiệp
  • Hệ thống máy tính - Quan điểm của lập trình viên
  • Nguyên tắc, mô hình và thực tiễn nhanh nhẹn trong C # của Robert C. Martin
  • Phát triển phần mềm hướng đối tượng, được hướng dẫn bởi các thử nghiệm
  • Nguyên tắc thiết kế khung của Brad Abrams
  • Tư duy đối tượng của Tiến sĩ David West
  • Lập trình nâng cao trong môi trường UNIX của W. Richard Stevens
  • Tin tặc và họa sĩ: Những ý tưởng lớn từ thời đại máy tính
  • Linh hồn của một cỗ máy mới của Tracy Kidder
  • CLR qua C # của Jeffrey Richter
  • Con đường vượt thời gian của Christopher Alexander
  • Các mẫu thiết kế trong C # của Steve Metsker
  • Alice ở xứ sở thần tiên của Lewis Carol
  • Zen và nghệ thuật bảo dưỡng xe máy của Robert M. Pirsig
  • Về khuôn mặt - Những điều cốt yếu của thiết kế tương tác
  • Ở đây có tất cả mọi người: Sức mạnh của việc tổ chức mà không có tổ chức của Clay Shirky
  • Đạo của lập trình
  • Vẻ đẹp tính toán của thiên nhiên
  • Viết mã rắn của Steve Maguire
  • Hướng dẫn của Philip và Alex về xuất bản web
  • Phân tích và thiết kế hướng đối tượng với các ứng dụng của Grady Booch
  • Java hiệu quả bởi Joshua Bloch
  • Khả năng tính toán của NJ Cutland
  • Chủ mưu lập trình
  • Đạo Đức Kinh
  • Lập trình viên năng suất
  • Nghệ thuật lừa dối của Kevin Mitnick
  • Lập trình viên nghề nghiệp: Chiến thuật Guerilla cho một thế giới không hoàn hảo của Christopher Duncan
  • Mô hình lập trình trí tuệ nhân tạo: Nghiên cứu trường hợp ở Lisp thông thường
  • Bậc thầy của Doom
  • Thử nghiệm đơn vị thực dụng trong C # với NUnit của Andy Hunt và Dave Thomas với Matt Hargett
  • Làm thế nào để giải quyết nó bởi George Polya
  • Nhà giả kim của Paulo Coelho
  • Smalltalk-80: Ngôn ngữ và cách thực hiện
  • Viết mã bảo mật (phiên bản 2) của Michael Howard
  • Giới thiệu về lập trình chức năng của Philip Wadler và Richard Bird
  • Không có lỗi! của David Thielen
  • Làm lại bởi Jason Freid và DHH
  • JUnit trong hành động

16
Code Complete là một cuốn sách hay nếu bạn đang học đại học. Nếu bạn có ít nhất 1 năm kinh nghiệm lập trình, thì đó là một sự nhàm chán.
Bogdan Gavril MSFT

19
Code Complete có rất nhiều thông tin hữu ích trong đó nhưng nó bị chôn vùi trong hyperbole, bánh quế và sự lặp lại, khiến nó khó đọc.
Jeff Yates

76
Tôi đọc Code Hoàn thành 3 năm trong sự nghiệp của tôi. Tôi đã không tham gia một khóa học kỹ thuật phần mềm cũng như một khóa học xây dựng ngôn ngữ lập trình nhưng đã tham gia một số khóa học giới thiệu về CS. Đó là cuốn sách duy nhất tôi từng đọc để trở thành một lập trình viên giỏi hơn. Nó sẽ không làm cho bạn trở thành một chuyên gia nhưng nó sẽ làm cho bạn nhiều hơn một tinkerer.
Shea

119
Vấn đề với cuốn sách này là đối với người mới bắt đầu, nó không thực sự có ý nghĩa vì các khái niệm hơi tiên tiến. Vào thời điểm bạn sẵn sàng để có thể đọc nó, bạn đã biết và thực hành 99% các khái niệm trong cuốn sách.
esac

57
Đó là thỏa thuận với những gợi ý thông thường, giống như những gợi ý trong cuốn sách này. Mỗi lần như vậy, bạn cần được nhắc nhở về việc họ sẽ quay lại xếp hàng.
JohnFx

9

K & R

@Juan: Tôi biết Juan, tôi biết - nhưng có một số điều chỉ có thể học được bằng cách thực sự bắt tay vào công việc. Nói trong những lý tưởng trừu tượng cả ngày chỉ đơn giản là làm cho bạn thành một học giả. Đó là trong ứng dụng của bản tóm tắt mà chúng ta thực sự tìm hiểu lý do cho sự tồn tại của chúng. : P

@Keith: Đề cập tuyệt vời về "Các tù nhân đang chạy tị nạn" bởi Alan Cooper - một người mở mắt chắc chắn, bất kỳ nhà phát triển nào đã làm việc với tôi kể từ khi tôi đọc cuốn sách đó đã nghe tôi đề cập đến những ý tưởng mà nó tán thành. +1


9

Toán học rời rạc cho các nhà khoa học máy tính http://ecx.images-amazon.com/images/I/51HCJ5R42KL._SL500_BO2,204,203,200_AA219_PIsitb-sticker-dp-arrow,TopRight,-24,-23_SH20

Toán học rời rạc cho các nhà khoa học máy tính của JK Truss.

Trong khi điều này không dạy bạn lập trình, nó dạy bạn toán học cơ bản mà mọi lập trình viên nên biết. Bạn có thể nhớ những thứ này từ trường đại học, nhưng thực sự, làm logic vị ngữ sẽ cải thiện kỹ năng lập trình của bạn, bạn cần học Lý thuyết tập hợp nếu bạn muốn lập trình bằng cách sử dụng các bộ sưu tập.

Thực sự có rất nhiều thông tin thú vị ở đây có thể khiến bạn suy nghĩ về các vấn đề theo những cách khác nhau. Thật tiện lợi khi có, chỉ thỉnh thoảng mới nhặt được một thứ mới.


9

Systemantics: Hệ thống hoạt động như thế nào và đặc biệt là cách chúng thất bại . Nhận nó sử dụng giá rẻ. Nhưng bạn có thể không có được sự hài hước cho đến khi bạn làm việc với một vài dự án thất bại.

Vẻ đẹp của cuốn sách là năm bản quyền.

Có lẽ là "luật" takeaway sâu sắc nhất được trình bày trong cuốn sách:

Định lý chế độ thất bại cơ bản (FFT): Các hệ thống phức tạp thường hoạt động ở chế độ thất bại.

Ý tưởng là có những phần bị lỗi trong bất kỳ phần mềm cụ thể nào bị che dấu bởi những lỗi ở những phần khác hoặc bởi những xác nhận ở những phần khác. Xem một ví dụ trong thế giới thực tại máy bức xạ Therac-25 , có lỗi phần mềm bị che bởi các lỗi phần cứng. Khi các lỗi phần cứng được gỡ bỏ, tình trạng cuộc đua phần mềm đã không bị phát hiện trong suốt những năm đó dẫn đến việc cỗ máy giết chết 3 người.


1
Ngoài ra hãy xem Kinh thánh hệ thống của cùng một tác giả (John Gall). Đây là phiên bản thứ ba của Systemantics, anh ta chỉ thay đổi tiêu đề. Đây là cuốn sách bạn ăn cắp ở trường. Đó là cuốn sách mà những người trưởng thành đọc dưới tấm chăn bằng đèn pin.
Chris Wenham

9

Một trong những mục yêu thích cá nhân của tôi là Hacker Delight , vì nó rất thú vị khi đọc vì nó mang tính giáo dục.

Tôi hy vọng phiên bản thứ hai sẽ sớm được phát hành!


+1 cho "Hackman Delight" của Henry S. Warren Jr - không phải là hack theo nghĩa phổ biến mà là hack như trong twiddling cấp độ thấp và "hack" theo nghĩa thực sự và nguyên bản của từ này. Không dành cho tất cả mọi người, nhưng nếu bạn tham gia vào việc tối ưu hóa mã, trình biên dịch, v.v. hoặc chỉ là một mọt sách nói chung quan tâm đến những thứ cấp thấp thì đây là một cuốn sách tuyệt vời.
Paul R

9

Brillant, bìa sách cho thấy "La Sagrada Família", một nhà thờ Công giáo La Mã lớn đang được xây dựng tại Barcelona, ​​Catalonia, Tây Ban Nha. Sẽ được hoàn thành vào năm 2026 (chỉ còn 17 năm). Giống như hầu hết các chương trình, ngay cả với những cuốn sách hay nhất, chúng không bao giờ hoàn thành ...
PeterMmm

9

Giải thích lập trình cực đoan: Embrace Change của Kent Beck. Mặc dù tôi không ủng hộ việc phát triển phần mềm mạnh mẽ cho XP, tôi ước mình đã được giới thiệu các nguyên tắc trong cuốn sách này sớm hơn nhiều trong sự nghiệp của mình. Thử nghiệm đơn vị, tái cấu trúc, đơn giản, tích hợp liên tục, chi phí / thời gian / chất lượng / phạm vi - những điều này đã thay đổi cách tôi nhìn vào sự phát triển. Trước Agile, tất cả là về trình gỡ lỗi và sợ yêu cầu thay đổi. Sau Agile, những con quỷ đó không lớn bằng.





9

Việc thực hành lập trình. Tác giả Brian W. Kernighan, Rob Pike.

Phong cách thể hiện ở đây là tuyệt vời - mã chỉ nói cho chính nó, và toàn bộ cuốn sách tuân theo nguyên tắc KISS. Cá nhân tôi không phải ngôn ngữ của tôi, nhưng vẫn có ảnh hưởng đến tôi.




9

Mô hình lập trình trí tuệ nhân tạo : Nghiên cứu trường hợp trong Lisp chung của Peter Norvig

nhập mô tả hình ảnh ở đây

Tôi bắt đầu đọc nó vì tôi muốn học Common Lisp. Khi tôi đi được nửa đường, tôi nhận ra đây là cuốn sách vĩ đại nhất về lập trình mà tôi đã đọc cho đến nay.


9

Thủ công phần mềm dứt khoát

văn bản thay thế http://ecx.images-amazon.com/images/I/5186JKTDVWL._SL500_AA240_.jpg

Cuốn sách này giải thích rất nhiều điều về công nghệ phần mềm, phát triển hệ thống. Nó cũng cực kỳ hữu ích để hiểu sự khác biệt giữa các loại phát triển sản phẩm khác nhau: khung web VS VS thu nhỏ của IBM. Mọi người đã nghĩ gì khi họ quan niệm mô hình thác nước? Đọc điều này và tất cả chúng ta sẽ trở nên rõ ràng (hy vọng)


Cuốn sách này cần phải được viết lại từ đầu. Chủ đề rất thú vị nhưng cuốn sách khá điên rồ.
Chris Mountford

Chris, tôi rất khó hiểu bình luận của bạn ... Bạn có thể giải thích thêm không? Tại sao 'mất trí'?
dario minonne

Đầu tiên, nó đầy lỗi đánh máy. Bàn tay biên tập thường xuyên hàng đầu của Addison Wesley vắng mặt một cách kỳ lạ trong tập này.
Chris Mountford

... Tiếp tục, và không đủ không gian ở đây, nhưng: 2. nó không bao giờ rõ ràng trong văn bản mà tác giả chuyển đổi giữa thực tế và quan điểm, giai thoại và nguyên tắc cơ bản, v.v. 3. Nghề thủ công phần mềm là một phép ẩn dụ và chiến lược để đối phó với nhiều khía cạnh khó khăn của phát triển phần mềm. Nó có những ưu điểm cụ thể so với các lựa chọn thay thế và có lẽ là nhược điểm. Tôi tin rằng đó là cách tiếp cận lành mạnh. Thật vô nghĩa khi nói rằng phần mềm vốn dĩ là một nghề thủ công. Đọc rất khó chịu, nhưng công bằng mà nói nó đã được một thời gian trước đây và nhiều chi tiết cụ thể tôi đã quên. Sự ghê tởm của tôi vẫn còn, tuy nhiên.
Chris Mountford

8

@Peter Coulton - bạn không đọc Knuth, bạn học nó.

Đối với tôi và công việc của tôi ... Cấu trúc dữ liệu chức năng hoàn toàn phù hợp để suy nghĩ và phát triển với các ngôn ngữ chức năng trong tâm trí.


8

"Thế giới phẳng" của Thomas Friedman.

Xuất sắc trong lập trình đòi hỏi một sự đầu tư của năng lượng tinh thần và sự cống hiến để tiếp tục học tập tương đương với các ngành nghề y học hoặc pháp luật. Nó trả một phần nhỏ của những gì các ngành nghề đó trả, ít hơn nhiều so với tiền lương trả cho những người am hiểu toán học đứng đầu trong lĩnh vực tài chính. Và tiền lương cho việc xây dựng mã đang bị xói mòn bởi vì đó là một nghề tương đối dễ dàng cho người thông minh và tự kỷ luật ở hầu hết các nền kinh tế.

Lập trình đã bị xói mòn đến mức trả ít hơn, nói, hệ thống ống nước. Hệ thống nước không thể "lạc hậu". Bạn không cần phải trả $ 2395 để tham dự Hội nghị Thợ sửa ống nước chuyên nghiệp mỗi năm vì đặc quyền nhận được một bộ công nghệ hệ thống ống nước hoàn toàn mới sẽ khiến bạn mất một năm để học.

Nếu bạn sống ở Bắc Mỹ hoặc Châu Âu, còn trẻ và thông minh, lập trình không phải là lựa chọn nghề nghiệp hợp lý. Các doanh nghiệp liên quan đến lập trình, hoàn toàn. Học kinh doanh, biết đủ về lập trình để tinh chỉnh máy dò BS của bạn: xuất sắc. Nhưng dành phần lớn năng lượng tinh thần của bạn cho việc làm chủ các thư viện, cấu trúc dữ liệu và thuật toán? Điều đó chỉ có ý nghĩa nếu lập trình là một cái gì đó cho bạn nhiều hơn là một lựa chọn kinh tế.

Nếu bạn yêu thích lập trình và vì lý do đó có ý định biến nó thành sự nghiệp của bạn, thì nó sẽ khiến bạn phát triển sự hiểu biết lạnh lùng về các lực lượng đang và sẽ tiếp tục, để biến nó thành một nghề khó hơn và khó hơn để kiếm sống . "Thế giới phẳng" sẽ không dạy bạn cách đặt tên cho các biến của bạn, nhưng nó sẽ khiến bạn đắm chìm trong 6 hoặc 8 giờ trong thực tế kinh tế đã đến. Nếu bạn có thể đọc nó, và không được sợ hãi, sau đó đi ra ngoài và mua "Code Complete".


Đó là một câu trả lời hay!
Avi

8

văn bản thay thế

Năm ngoái tôi đã tham gia một số lớp học. tôi đọc

Thế lưỡng nan của nhà cải tiến (công nghệ đột phá)
Tháng người đàn ông huyền thoại (phần mềm quản lý)
Vượt qua
hệ thống quản lý cơ sở dữ liệu (khởi động) ,
Lập trình sách COW C #, Sách phát triển iPhone của OSTRICH, Sách GRAPEFRUIT

Mỗi cuốn sách đều tuyệt vời nhưng Dilemma của Nhà cải cách của Clayton Christensen (1997 !!!) thực sự là một cuốn sách tuyệt vời và nó khiến tôi thực sự nghĩ về thế giới phần mềm hiện đại. Thách thức được giải quyết là công nghệ đột phá, và làm thế nào các công ty ổ đĩa và các công ty phi kỹ thuật luôn bị phá vỡ bởi công nghệ thay đổi trò chơi mới. Nó mang đến cho người ta một viễn cảnh mới khi nghĩ về Google, có lẽ là công ty 'web' lớn nhất. Tại sao họ có bàn tay của họ trong MỌI THỨ? Đó là bởi vì họ không muốn bị phá vỡ vị trí của mình bởi một cái gì đó mới. Việc xem trước trên google là rất nhiều để có được ý tưởng. Đọc nó!


Tôi nghĩ cuốn sách này khá lặp đi lặp lại. Tôi khuyên bạn nên đọc 1/4 đầu tiên.
Ben Haley

8

tin tặc, bởi Steven Levy.

Tính cách và cách sống phải đến trước. Mọi thứ khác có thể được học.



8

Ngôn ngữ Python có ảnh hưởng rất lớn đối với tôi, tôi ước mình đã đọc những cuốn sách này từ nhiều năm trước. Vẻ đẹp và sự đơn giản của ngôn ngữ Python thực sự ảnh hưởng đến cách tôi viết mã bằng các ngôn ngữ khác.

văn bản thay thế văn bản thay thế


2
Tôi nghĩ rằng bắt đầu lập trình viên mới với Python sẽ làm giảm số lượng mã xấu trên thế giới. Tôi làm việc với một người ngẫu nhiên thụt dòng - người đó sẽ không làm điều đó nếu họ đã làm việc với Python trong một vài tháng.
xnine

6
Tôi nghĩ rằng bắt đầu lập trình viên mới với Python sẽ làm giảm lượng ngôn ngữ khác.
Marco Mariani

2
Là những bao gồm một sự trùng hợp?
Kelly S. Pháp




7

Tôi nghĩ rằng "Nghệ thuật lập trình Unix" là một cuốn sách tuyệt vời, bởi một hacker xuất sắc / một bộ óc thông minh tuyệt vời như Eric S. Raymond, người cố gắng làm cho chúng ta hiểu một vài nguyên tắc thiết kế phần mềm (chủ yếu là đơn giản). Cuốn sách này là bắt buộc cho mọi lập trình sắp bắt đầu một dự án dưới nền tảng Unix.


6
đây là một bản sao
Christopher Mahan

7

Mặc dù tôi đồng ý rằng nhiều cuốn sách ở trên là phải đọc (Lập trình viên thực dụng, Tháng huyền thoại, Nghệ thuật lập trình máy tính và SICP ngay lập tức), tôi muốn đi theo một hướng hơi khác và đề xuất Kỷ luật lập trình bởi Edsger Dijkstra. Mặc dù đã 32 tuổi, việc nhấn mạnh vào "thiết kế để kiểm chứng" rất phù hợp (ngay cả khi "tính xác minh" có nghĩa là "bằng chứng" thay vì "kiểm tra đơn vị").



7

Tái cấu trúc của Martin Fowler : Cải thiện thiết kế mã hiện tại đã được liệt kê. Nhưng tôi sẽ nói chi tiết tại sao nó lại tác động đến tôi.

Bản chất của toàn bộ cuốn sách là về cấu trúc mã để con người đọc và hiểu đơn giản hơn . Nó dạy tôi mạnh mẽ rằng mã mà tôi viết có nghĩa là để các đồng nghiệp và người kế nhiệm của tôi tiêu thụ và có thể học được điều gì đó tốt từ nó. Nó truyền cảm hứng cho tôi để lập trình một cách có ý thức theo cách khiến mọi người ca ngợi tên của tôi, và không nguyền rủa tôi đến chết tiệt mãi mãi .



7

Đây là một cuốn sách tuyệt vời không được hoan nghênh rộng rãi, nhưng đầy hiểu biết sâu sắc: Phát triển phần mềm Agile: Trò chơi hợp tác , của Alistair Cockburn.

Có gì đặc biệt về nó? Chà, rõ ràng mọi người đều đã nghe cụm từ "Agile", và dường như hầu hết là những tín đồ ngày nay. Dù bạn có tin hay không, tuy nhiên, có một số nguyên tắc sâu xa đằng sau lý do tại sao phong trào Agile tồn tại. Cuốn sách này khám phá và nói rõ những nguyên tắc này một cách chính xác, khoa học. Một số nguyên tắc là (btw, đây là những lời của tôi, không phải của Alistair):

  1. Điều khó nhất trong việc phát triển phần mềm nhóm là làm cho bộ não của mọi người có cùng sự hiểu biết. Chúng tôi đang xây dựng những hệ thống lớn, phức tạp, phức tạp, vô hình trong thế giới hữu hình. Bạn càng giỏi trong việc thu hút được nhiều bộ não của mọi người để chia sẻ hiểu biết sâu sắc hơn, nhóm của bạn sẽ càng phát triển phần mềm hiệu quả hơn. Đây là lý do cơ bản mà lập trình cặp có ý nghĩa. Hầu hết mọi người bỏ qua nó (và tôi đã làm quá ban đầu), nhưng với nguyên tắc này, tôi khuyên bạn nên cho nó một phát súng khác. Bạn kết nối với HAI người hiểu sâu sắc hệ thống con bạn vừa xây dựng ... không có nhiều cách khác để có được sự chuyển thông tin sâu sắc nhanh như vậy. Nó giống như một meld tâm trí Vulcan.
  2. Bạn không phải lúc nào cũng cần từ ngữ để truyền đạt sự hiểu biết sâu sắc một cách nhanh chóng. Và một hệ quả: quá nhiều từ và bạn vượt quá khả năng của người nghe / người đọc, nghĩa là việc chuyển giao sự hiểu biết mà bạn đang cố gắng không xảy ra. Hãy xem xét rằng trẻ học cách nói ngôn ngữ bằng cách "đắm mình" và "tiếp thu". Không chỉ ngôn ngữ ... anh ấy còn đưa ra ví dụ về một số trẻ em chơi với xe lửa trên sàn nhà. Cùng với một đứa trẻ khác thậm chí chưa bao giờ TÌM một chuyến tàu trước đó ... nhưng bằng cách xem những đứa trẻ khác, nó nhặt lên ý chính của trò chơi và chơi ngay. Điều này xảy ra tất cả thời gian giữa con người. Điều này cùng với hệ quả của quá nhiều từ giúp bạn thấy nó đã sai lầm như thế nào trong những ngày "thác nước" cũ để cố gắng viết 700 trang thông số kỹ thuật yêu cầu chi tiết.

Có quá nhiều thứ trong đó nữa. Tôi sẽ im lặng ngay bây giờ, nhưng tôi rất muốn giới thiệu cuốn sách này!


2
Một đóng góp độc đáo, và bạn đã dành thời gian để giải thích rõ ràng lý do tại sao nó đáng đọc. +1 cho sự độc đáo và nỗ lực! Tôi sẽ mong được đọc điều này sớm ...
Avery Payne

Tốt Tôi không nghĩ bạn sẽ thất vọng.
Charlie Hoa

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.