神在細節之中,建築師Ludwig mies van der Rohe(路德維希·密斯·范·德·羅)如是說。這句話引發了有關軟件開發、特別是敏捷軟件開發中架構所處地位的若干爭論。鮑勃(Bob)和我時常發現自己沉湎於此類對話中。沒錯,Ludwig mies van der
Rohe的確專注於效用和基於宏偉架構之上的永恆建築形式。然而,他也為自己設計的每所房屋挑選每個門把手。為什麽?因為小處見大。
細節中自有天地,而在生活中應用此類手段時也有微言大義,就像我們一成不變地對那些源自日本的做法寄予厚望一般。這並非只是東方的生活觀;英美民間也遍是這類警句。上引「整頓」(Seiton)二字就曾出現在某位俄亥俄州牧師的筆下,他把齊整看作是「盪滌種種罪惡之良方」。「清楚」(Seiso)又如何呢?整潔近乎虔誠(Cleanliness is next to
godliness)。一張臟亂的桌子足以奪去一所麗宅的光彩。老話怎麽說「身美」(Shitsuke)的?寺小節者不虧大節(He who is faithful in little is faithful in much)。對於時時准備在恰當時機做重構,為未來的「大」決定夯實基礎,而不是置諸腦後,有什麽說法嗎?及時一針省九針(A stitch in time saves
nine)。早起的鳥兒有蟲吃(The early bird catches the worm)。日事日畢(Don』t put off until tomorrow what you can do today)。在精益實踐落入軟件咨詢師之手前,這就是其所謂「最後時機」的本義所在。擺正單項工作在整體中的位置昵?巨木生於樹籽(Mighty oaks from little acorns
grow)。如何在日常生活中做好簡單的防備性工作昵?防病好過治病(An ounce of prevention is worth a pound of cure)。一天一蘋果,醫生遠離我(An apple a day keeps the doctor away)。整潔代碼以其對細節的關注,榮耀了深埋於我們現有、或曾有、或該有的壯麗文化之下的智薏根源。
即便是在宏偉的建築作品中,我們也聽到夫注細節的回響。想想Ludwig mies van der Rohe的門把手吧。那正是整理(seiri)。認真對待每個變量名。你當用為自己第一個孩子命名般的謹慎來給變量命名。