前端領域存在“架構師”嗎

已邀請:

酥酥1994

贊同來自:


  讀到這裡,你不禁會問,前端領域存在“架構師”嗎?這個問題會在後面的“碼農的宿命”中展開解釋。這裡先說下代碼架構的一些瑣事吧。


  什麼是架構?架構是由“架”和“構”組成,架,即元件,構,即連接件。因此,架構即是將總體分解為單元,然後定義單元之間的連接方式。架構的含義源自禪宗,而禪宗的基本信條則之一就是真理是無法用語言來描述的。這個基本信條有其背景,即語言具有某種抽象性。而人們對這種抽象性的悟道則直接影響對事物的看法,進而決定瞭對客觀世界的分解方法。


  而在編程語言中,同樣存在這種禪宗所隱喻的悖論。在面向對象的教科書中,通常舉一些顯而易見的例子,比如“水果”是一個類,包含有蘋果、桔子、香蕉等實例,“蔬菜”也是一個類,包含白菜、冬瓜、茄子等實例。這兩個類之間並無交集,因此很容易理解。但實際項目中情況要復雜的多,比如兩個圖書類目“文學”和“歷史”,那麼“明朝那些事”應當是“文學”類的實例還是“歷史”類的實例呢?即一旦用語言說出瞭某一事物,即人為的割裂瞭世界,於是就會陷入迷途。這在程序設計領域情況更甚,也是造成混亂的主要根源,也就是說,如果你的程序可擴展性不好,一定是程序作者對“單元”的定義不夠準確,即單元的概念之間不夠“正交”。而這種架構終是徒有其形,根基不穩。


  因此,變量和類的命名才是真正考驗架構功力的關鍵(命名是否準確清晰、單元之間是否有概念重疊或盲區),而和所謂“組合”、“繼承”、“橋接”等模式化的“外表”無本質聯系。

要回復問題請先登錄註冊