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

Preview:

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

www.dtvc.edu.vn/?tvhao

1

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

Trình bày: Ths Trương Vĩnh Hảo

TRƯỜNG CAO ĐẲNG NGHỀ ĐỒNG THÁP

www.dtvc.edu.vn/?tvhao

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ợ

www.dtvc.edu.vn/?tvhao

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

www.dtvc.edu.vn/?tvhao

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

www.dtvc.edu.vn/?tvhao

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

www.dtvc.edu.vn/?tvhao

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”

www.dtvc.edu.vn/?tvhao

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”

www.dtvc.edu.vn/?tvhao

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.”

www.dtvc.edu.vn/?tvhao

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ẹ.”

www.dtvc.edu.vn/?tvhao

10

Bài học thứ bảy

• “Release early, release often”

– Phát hành sớm, phát hành thường

www.dtvc.edu.vn/?tvhao

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

www.dtvc.edu.vn/?tvhao

12

Brooks’s Law

• Sự phức tạp = N*(N-1)/2

– N: số người lập trinh vien

www.dtvc.edu.vn/?tvhao

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

www.dtvc.edu.vn/?tvhao

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.

www.dtvc.edu.vn/?tvhao

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.

www.dtvc.edu.vn/?tvhao

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.

www.dtvc.edu.vn/?tvhao

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

www.dtvc.edu.vn/?tvhao

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.

www.dtvc.edu.vn/?tvhao

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.

www.dtvc.edu.vn/?tvhao

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.

www.dtvc.edu.vn/?tvhao

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

www.dtvc.edu.vn/?tvhao

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.

www.dtvc.edu.vn/?tvhao

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

www.dtvc.edu.vn/?tvhao

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ẻ

www.dtvc.edu.vn/?tvhao

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

www.dtvc.edu.vn/?tvhao

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

www.dtvc.edu.vn/?tvhao

27

Reference

• Raymond, Eric (2005). Cathedral

and the Bazaar. Retrieved August

10th, 2005

www.dtvc.edu.vn/?tvhao

28

Trao đổi

• Điện thoại: 0918.513.142

• Email: haotruongvinh@yahoo.com

www.dtvc.edu.vn/?tvhao

29

Recommended