2 min read

面向空氣編程

眾所週知,軟體開發是一件專業性非常強的活動。為了克服軟體開發的複雜性,雖然走過各種歪路,但人類還是在反覆的試錯中總結出了不少具有普遍性的優秀實踐,比如禁止 goto 語句的使用、引入面向對象編程的思想、提倡減少不必要的變量使用等等。然而,一些漠視其專業性卻又自以為是——往往是同時發生——的人總是會提出讓真正的專家聽了一下子會懵掉的見解,而當這些人坐上了某種管理職位,那更是災難的開始。

當你從事一個專業活動,保持決策依據的一貫性顯然是非常重要的。這就是說,當你今天用 A 理由來支持 X 決定、明天用 B 理由來支持 Y 決定的時候,你需要確保 B 理由不會反對 X 決定,而且 A 理由也不會反對 Y 決定。當然你可能在想出 B 理由時發現 A 理由是錯的,那也很好,你完成了一次自我學習,及時修正 A 理由,然後及時修正依據 A 理由做出的決策就好。

然而,那些漠視專業性的人,因為他們不具有專業性,自然觀點常常是站不住腳的,所以最常發生的事情就是提出的觀點前後自相矛盾。如果這種人還是管理職位,那團隊成員自是苦不堪言。而你若是提出要整理決策依據,那他們自然會反對,因為不想要暴露自己的自相矛盾。

於是,面向空氣編程就誕生了。