2011-02-08 42 views
4

當我第一次開始學習Rails時,erb對我來說顯得非常自然,因爲我過去一直使用Smarty和其他模板,甚至更多,我一直在大力地做一些WordPress模板編程像erb一樣)。我應該從erb改爲haml嗎?

現在,經過一段時間,我碰巧看到哈姆,第一個看法,我覺得很美麗和簡單印象深刻。我聽說,特別是對於舊版本,haml速度較慢,但​​我覺得視圖渲染不會真的成爲問題。

所以現在,我正在認真考慮轉換一個很大的項目,我從erb到haml。我一直在尋找方法來編寫更好的代碼。

但是,您怎麼看?這是個好主意嗎 ?

回答

11

Haml是開始一個新項目的絕佳選擇。但是我並沒有看到將現有項目從ERB轉換爲Haml的價值,特別是如果您有大量需要重寫的模板。不要修復沒有損壞的東西。

+0

我的主要問題是,我覺得erb很醜,我想當事情變得更大時,它可能會讓我很難調整視圖。我真的不確定,但我重視你的意見,thanx! – Spyros

+8

我真的不喜歡「不修補什麼不破」的路線。爲了使它更好,我不斷重構難看的代碼。那麼爲什麼不是這些意見呢?我認爲在事情真正破裂之前重構真的很有意義。保持可維護性。 – nathanvda

+0

如果你的視圖中的代碼很醜,你可能需要的是使用更多的助手。 –

1

Haml非常好,我推薦它用於將來的模板。但是,您無需將現有的erb代碼更改爲haml,因爲您可以在項目中自由混合erb和haml。隨着視圖變得笨拙,您可以考慮重寫,但是沒有必要立即將它們全部更改 - 這需要相當長的一段時間,並且可能會引入錯誤。

+0

確定thanx給你們倆:) – Spyros

3

我同意沒有真正需要遷移,你可以簡單地混合和匹配它們。

但是...我強烈建議你有效切換到haml。我覺得將erb轉換爲haml的努力並不大。大多數情況下,你會切出元素。另一方面,獎勵很大。

Haml更緊湊,最重要的是:更具可讀性。 因爲它非常結構化,嵌套更清晰,並使您的視圖更易於維護。

我不知道你的,但我們有erb模板是完全不可讀的,不同的開發人員有不同的風格,你如何處理erb內嵌套?嵌套代碼?嵌套元素內的代碼?代碼中的嵌套元素?在哈姆毫無疑問。很明顯。嵌套時縮小一切。並且不需要取消嵌套,也不會忘記關閉</td></div>

此外,它使您的文件更小(更容易忽略)。

確實存在一個可能的性能問題,但如果這確實是您的問題,我建議您查看slim,這幾乎與haml完全相同,只是非常快。

+5

+1提到苗條,這對我來說是新的 – zetetic

+0

苗條是非常好的。 –