the notorious
snacky

<- Quay về trang chủ

Quy tắc của Hướng đạo sinh và nghề Lập trình

Thi thoảng mình rất muốn share một vài đoạn trích hay bài viết mà mình cảm thấy hay, tuy nhiên đăng lại một đoạn trích bằng tiếng Anh hoàn toàn thì không phải ý hay vì mình biết sẽ chẳng ai chịu đọc :)) dịch ra tiếng Việt thì lại là một việc hoàn toàn cấm kị.

Cho nên bắt đầu từ bài này, mình sẽ giới thiệu một feature mới của blog đó là Quơ-Qaise (bắt chước Word Wise của Amazon Kindle =))), để chú thích nghĩa của những từ ít gặp, hoặc bình luận nhố nhăng.

Đoạn trích sau là từ bài viết The Boy Scout Rule của cuốn sách 97 Things Every Programmer Should Know, đăng tải online với giấy phép Creative Commons Attribution 3.0.


Quơ-Qaise

The Boy ScoutsCác Hướng Đạo sinh have a rule: "Always leave the campgroundnơi cắm trại cleaner than you found it." If you find a mess on the ground, you clean it up regardless of who might have made the mess. You intentionallymột cách chủ ý improve the environment for the next group of campers. Actually the original form of that rule, written by Robert Stephenson Smyth Baden-Powell, the father of scoutinghướng đạo, was "Try and leave this world a little better than you found it."Làm cho thế giới trở nên tốt hơn lúc mà bạn đến với nó

What if we followed a similar rule in our code: "Always check a module in cleaner than when you checked it out." No matter who the original author was, what if we always made some effort, no matter how small, to improve the module. What would be the result?

I think if we all followed that simple rule, we'd see the end of the relentless deteriorationtình trạng "bê tha" hóa =)) of our software systems. Instead, our systems would graduallydần dần get better and better as they evolvedscale up. We'd also see teams caring for the system as a whole, rather than just individualsmột cá nhân caring for their own small little part.

I don't think this rule is too much to askđúng rồi, thế này có gì là quá đáng đâu. You don't have to make every module perfect before you check it inpush code. You simply have to make it a little bit better than when you checked it outpull code. Of course, this means that any code you add to a module must be cleancode của mình phải sạch. It also means that you clean up at least one other thingrồi mới làm sạch thằng khác before you check the module back in. You might simply improve the name of one variableLOL..., or split one long function into two smaller functions. You might break a circular dependencya.child = b; b.child = a;, or add an interface to decouple policy from detailĐọc bài này.

Franklythực ra, this just sounds like common decencythói quen chung to me — like washing your hands after you use the restroom, or putting your trash in the bin instead of dropping it on the floorlol, bẩn thế. Indeed the act of leaving a mess in the code should be as socially unacceptablexã hội không chấp nhận as litteringđốt nhà. It should be something that just isn't done.

But it's more than that. Caring for our own code is one thing. Caring for the team's code is quite another. Teams help each other, and clean up after each othergọi là đùm bọc lẫn nhau nhé =)). They follow the Boy Scout rule because it's good for everyone, not just good for themselves.

by Uncle Bob

Ngày xưa Lục Vân Tiên gặp chuyện bất bình giữa đường thì không thể làm ngơ, kết quả là thu phục được mỹ nhân (oops, nghe giống pokemon, sorry :D) tiếng thơm lưu lại muôn đời (dù là chỉ là nhân vật hư cấu). Ngày nay, chẳng ai muốn làm Lục Vân Tiên giữa đời thường, vì sợ tai bay vạ gió, chuốc họa vô thân, từ đó mà xã hội càng suy đồi. Nhưng nếu làm Lục Vân Tiên giữa rừng bad code thì cũng chả ai có thể hãm hại gì được bạn cả, nên cứ gọi là để cứu rỗi chút lương tâm còn xót lại.

Làm chút việc tốt, dù là không nhiều nhặn gì, để làm cho thế giới trở nên tốt hơn một chút, cũng là việc nên làm. Mô phậtboong....