Tải bản đầy đủ (.ppt) (29 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (230.51 KB, 29 trang )

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

Thánh Đường và Chợ
(Cathedral and Bazaar)
Trình bày: Ths Trương Vĩnh Hảo
www.dtvc.edu.vn/?

1


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/?

2


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/?



3


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/?

4


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/?


5


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/?

6


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/?

7


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/?

8


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/?

9


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/?

10


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/?

11


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

www.dtvc.edu.vn/?

12


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/?

13


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/?

14


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/?

15


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/?

16


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/?

17


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/?

18


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/?

19


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/?

20


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/?

21


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/?

22


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/?

23


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/?

24


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/?

25


×