他對於 coupling 的解說,就完全錯了;而且前提不清概念模糊。
他提到 coupling 的時候是這樣說的: “計算機軟件裏麵有一個很重要的概念,名字叫 coupling。”
這麽一說,可以看出他很缺乏邏輯概念的訓練。
他說的 “計算機軟件”,就這個詞匯本身,指的應該是成品計算機軟件。但成品計算機軟件使用者,那是無須了解什麽叫 coupling 的。他想說的這個 coupling,其實是計算機軟件設計(software engineering) 過程中的一個重要概念。要說 coupling,不能隻用 “計算機軟件” 這個詞匯,帶出對於 coupling 的闡述。對於計算機軟件使用者來說,沒有那個軟件發行商會對使用者宣傳 coupling 這個概念。隻有在計算機軟件設計落實過程中,軟件工程師們,才會相互討論 coupling 的問題,而且 coupling 是和 cohesion 連在一起考慮的。
連在一起考慮的目的,就是要在 objects 之間,達到具有 low (loose) coupling 和 high cohesion 的一種關係狀態。這樣,各個 objects 之間,相對獨立性就高,自主功能性也強。所謂 Service-Oriented Architecture (SOA), 從其高層次方麵來說,各個 services 所給予的服務功能範圍,就是一個object;各個 services 之間,相互沒有功能或職能上的依賴性,但在整個 SOA 係統中,任何 service 一方,都可向任意的另一方 service,要求和獲得一套完整的服務 (service)。這種狀態和結果,可以作為一個方麵,來說明什麽叫 low coupling 和 high cohesion。現在流行的所謂 “雲計算” (Cloud-Computing),就是在 SOA 的概念上發展起來的。
所以這個年輕人要談軟件設計中的 coupling 這個課題,卻用了 “計算機軟件” 這個普遍概念來描述他要講的在軟件設計這個特殊領域裏的東西,看起來他就非常缺乏某種嚴格的教育和訓練,缺乏邏輯的概念和思維以及課題研究的方式和方法。
做學問要腳踏實地,老老實實地把自己要說的都搞通了,再發表自己的見解也不遲。
這個年輕人如果麵試我,我就肯定是他說的 “大部分人都答不好” 的人之一。
這個年輕人給人最大的、不好的特點就是:盡扯些他自己都沒搞通的東西,來裝飾門麵;他扯的任何東西,還都是淺嚐輒止不求甚解的結果。要幫助他,就一定要對他當頭猛喝一棒;否則他會在這個邪路上,越走越遠最終把他自個給毀了!