會寫這篇文章的初衷是因為公司當初聘請我最重要的任務就是把網站從 Rails 2.3 升級到 Rails 3.2 並且把整個網站重構。公司網站的規模大概落在40~50個controller和model上下,說大不大說小不小。在整理的過程中,看到了各式各樣慘不忍睹甚至令人噁心的程式碼,加上完全沒有spec或document的狀況下,導致我必須不斷去揣摩、拆解當初原作者這段程式的想法,同時,還必須靠"想像"原本的Spec重新寫出好維護的程式碼。回憶起這段不堪回首的往事真的是非常辛苦,但在把後端整理到可以維護的狀況和把前端的工作切割拋出去給F2E以後,回頭想想收穫也不少。所以想藉由這次的經驗做點記錄與分享。
因為有不少範例,不想花時間重新格式化,所以有興趣的朋友請直接點連結閱讀:
http://blog.hellolucky.info/articles/ruby-on-rails-refactoring-experience-talk/

