1 / 29

Thánh Đường và Chợ (Cathedral and Bazaar)

Thánh Đường và Chợ (Cathedral and Bazaar). TRƯỜNG CAO ĐẲNG NGHỀ ĐỒNG THÁP. Trình bày: Ths Trương Vĩnh Hảo. Viết phần mềm như thế nào?. Cách suy ngh ĩ cổ điển: Xây thánh đường Cách viết phần mềm theo phương án Linux của Linus Torvald Xay chợ. Phương án nguồn mở đầu tiên. N ăm 1996

rehan
Download Presentation

Thánh Đường và Chợ (Cathedral and Bazaar)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Thánh Đường và Chợ(Cathedral and Bazaar) TRƯỜNG CAO ĐẲNG NGHỀ ĐỒNG THÁP Trình bày: Ths Trương Vĩnh Hảo

  2. Viết phần mềm như thế nào? • Cách suy nghĩ cổ điển: • Xây thánh đường • Cách viết phần mềm theo phương án Linux của Linus Torvald • Xay chợ

  3. Phương án nguồn mở đầu tiên • Năm 1996 • Chester County InterLink (CCIL) cần Post Office Protocol 3 (POP3) • Phương án nguồn mở đầu tiên của Eric Raymond

  4. Bài học đầu tiên • “Every good work of software starts by scratching a developer’s itch” • Mỗi một sản phẩm phần mềm tốt bắt đầu từ việc gãi vào chổ ngứa của người lập trình viên

  5. Bài học thứ hai • “Good programmers know what to write. Great ones know what to rewrite (and reuse)” • Người lập trình viên giỏi biết cách lập trình. Người thành thạo biết cách nào để viết lại và dùng lại. • Linus Torvalds dùng mã nguồn và sáng kiến của Minux cho Linux. • Eric Raymond chọn Seung-Hong Oh’s fetchpop làm nền tản cho POP3

  6. Bài học thứ ba • Raymond phát hiện popclient của Carl Harris • “Plan to throw one away; you will, anyhow” (Fred Brooks. The Mythical Man Month. Chapter 11) • “Hãy chuẩn bị để vứt bỏ phương án của minh; dầu sao đi nữa, bạn cũng sẽ phải như vậy”

  7. Bài học thứ tư • “If you have the right attitude, interesting problems will find you” • Nếu chúng ta có quan điểm đúng đắn, những vấn đề lý thú sẽ tự tìm đến”

  8. Bài học thứ năm • “When you lose interest in a program, your last duty to it is to hand it off to a competent successor.” • “Nếu bạn đã mất nguồn cảm hứng đối với một phương án, bạn nên thực hiện nhiệm vụ cuối cùng của bạn là trao phương án này cho một người nối nghiệp kế tiếp có tài năng.”

  9. Bài học thứ sáu • “Treating your users as co-developers is your least-hassle route to rapid code development and effective debugging” • Đối xử với người dùng phương án của bạn như người cùng lập trình với bạn. Đây là con đường dễ dàng nhất đưa đến việc lập trình và sửa lỗi mau lẹ.”

  10. Bài học thứ bảy • “Release early, release often” • Phát hành sớm, phát hành thường

  11. Bài học thứ tám (Luật Linus) • “Given enough eyeballs, all bugs are shallow” • Mọi lỗi lầm phần mềm đều dễ tìm nếu có nhiều cặp mắt ngó vào • ~ Delphi effect • Ý kiến của nhiều người sẽ đúng hơn ý kiến cá nhân của một chuyên gia

  12. Brooks’s Law • Sự phức tạp = N*(N-1)/2 • N: số người lập trinh vien

  13. Tìm lỗi • Nguồn đóng • Tìm lỗi nhưng không có kiến thức về mã nguồn • Sự sai lệch trong truyền đạt giữa người lập trình và nhân viên bảo đảm chất lượng/người dùng • Nguồn mở • Người tìm lỗi đọc mã nguồn khi phát hiện lỗi • Người tim lỗi có khi cũng là người sửa lỗi

  14. Bài học thứ chín • “Smart data structures and dumb code works a lot better than the other way around” • Cấu trúc dữ kiện thông minh và mã nguồn ngốc nghếch hơn là sự tương phản.

  15. Bài học thứ mười • “If you treat your beta-testers as if they’re your most valuable resource, they will respond by becoming your most valuable resource” • Nếu bạn coi những người sử dụng beta là tài nguyên quí giá nhất của bạn, thì họ sẽ hồi báo khi trở thành tài nguyên quí giá nhất.

  16. Bài học thứ mười một • The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better” • Khi bạn không có sáng kiến, cách hay nhất là hãy chấp nhận và tuyên dương những ý kiến hay của người dùng của bạn. Đôi khi, cách này còn tốt hơn là ý kiến của bạn.

  17. Bài học thứ mười hai • “Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong” • Nhiều khi, giải pháp tốt nhất là sự nhận thức được con đường mình đi là sai

  18. Bài học thứ mười ba • Antoine de Saint-Exupery: “Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away” • Sự hoàn mỹ chỉ đạt được không phải khi không còn có gì để thêm vào, mà chỉ khi không có gì để bỏ đi.

  19. Bài học thứ mười bốn • “Any tool should be useful in the expected way, but a truly great tool lends itself to uses you never expect” • Dụng cụ cũng nên hữu dụng trong công chuyện của nó, chỉ có những dụng cụ phi thường có thể được sử dụng một cách phi thường.

  20. Bài học thứ mười lăm • “When writing gateway software of any kind, take pains to disturb the data stream as little as possible – and never throw away information unless the recipient forces you to!” • Khi viết phần mềm cửa ngõ, cố gắng đừng thay đổi dòng dữ kiện và đừng bỏ đi dữ kiện nào trừ phi người nhận bắt buộc.

  21. Bài học thứ mười sáu • “When your language is nowhere near Turing-complete, syntactic sugar can be your friend” • Khi ngôn ngữ của bạn chưa được hoàn chỉnh, đường có thể là bạn của bạn

  22. Bài học thứ mười bảy • A security system is only as secure as its secret. Beware of pseudo-secrets. • Một hệ thống an ninh chỉ thể giữ tính an ninh khi chìa khóa của nó còn được giữ bí mật. Hãy coi chừng những chìa khóa bán bi mật.

  23. Yếu tố cần thiết cho cách xây chợ • Phương án phải tạo được sự thu hút • Người lanh đạo nhận rõ được ý kiến hay của người khác • Người lãnh đạo nên linh hoạt trong việc xã giao • Người lãnh đạo không nên dùng quyền lực • Khuyến khich • Khen thưởng • “Hồi ức của một nhà cách mạng” của Pyotr Alexeyvich Kropotkin

  24. Thời gian phôi thai • Thiết kế nên đơn giản • Thu hút nhiều người dù là với tay nghề còn trẻ

  25. Bài học thứ mười tám • To solve an interesting problem, start by finding a problem that is interesting to you • Muốn giải một vấn đề lý thú, hãy bắt đầu tìm một vấn đề lý thú cho bạn

  26. Bài học thứ mười chín • Provided the development coordinator has a communication medium at least as good as the Internet, and knows how to lead without coercion, many heads are inevitably better than one • Cho dù người điều khiển có một phương tiện thông tin tốt như Mạng Lưới, và biết lãnh đạo dùng sự áp bức, nhiều cái đầu vẫn hơn một cái đầu

  27. Reference • Raymond, Eric (2005). Cathedral and the Bazaar. Retrieved August 10th, 2005

  28. Trao đổi • Điện thoại: 0918.513.142 • Email: haotruongvinh@yahoo.com

  29. Cám ơn

More Related