最難遷移的模式,往往正是讓舊系統難以推理的那些

Linear 從 CSS template literal 換到受限的 atomic 系統後,有三種模式變難寫:

  • parent-dependent selector
  • global selector
  • 透過 wrapper 重新改元件樣式

作者對此的評語是:這一點正是重點。最難遷移的那些模式,就是讓舊系統在規模下難以推理的元兇。

怎麼用這條

遷移阻力可以當設計訊號來讀,而不是只當成成本:

  • 新工具擋住的寫法,通常就是舊工具縱容你做的、且沒人能全盤追蹤的那些。
  • 所以「這招在新系統做不到」要先分辨是能力不足還是刻意的限制,再決定要找逃生門還是改設計。

對應的 Linear 選型條件:讓隔空改樣式(styling at a distance)刻意變難,不是只用慣例勸退。

相關:樣式契約要用工具強制,逃生門要明示且有 scope、CSS-in-JS 的成本是渲染期產生樣式與注入規則