曾經參與過寫一個robust system的過程,獲益良多。寫一個work嘅系統,同一個robust嘅系統,分別在於「杞人憂天」的防禦設計。
一個系統「work」是基本,但現實太多奇形怪狀的可能性,會令佢「唔work」,所以好的系統在於error-handling處理得好,包含不同的可能情況,也能令errors被妥善處理得好(處理得到),codes才能如常返回正常狀態,不會當掉。這個error handling,就像「杞人憂天」的處理,即使問題未曾遇上,也要有先見之明把codes try{} catch{}包著,保護它遇到有任何問題也可以catch得到(備註:try-catch只是error-handling的其中一種,但它已可以攔截很多問題),再之後對於現實裏的奇形怪狀errors有適當的應付方案。而就是這些強大的error handling應付方案sss,才能令system被稱得上robust吧。
說開又說,那時我們行Agile,每天都有stand-up meeting,是很難忘的一段時光。記得不同地方行Agile,有成功,有失敗(同事只為應付老闆,沒有凝聚力),以我所經歷的,成功的stand-up meeting經驗,那時上司們從大至小先分享(不是由小職員先說),以 1) 上一天作了什麼;2) 今天打算作什麼;3) 遇到什麼困難 為guidelines,聽到上司們分享他們的工作,可以幫助小職員的我也明白多一點工作在發生什麼事(雖然也有很多聽不懂的成分),而且也可以幫助我匯報我完成了的任務,又可以把處理任務時遇到的難處分享出來,上司們就可以幫助我解難,讓我走少一點冤枉路。了解上司們的工作和他們先分享,也讓我勇敢一點表達我所面對的(原來是這樣分享的),又可以對大家所面對的困難加以討論,而且那時上司們都會對我能完成的任務即時鼓勵,所以說那時很難忘。我想這個經驗也是個成功的Info n Tools秘技,值得被記下吧。
沒有留言:
張貼留言