◎ 本文轉載自 Blog.XDite.net。
在傳統的開發過程中,作法多半都是:規劃 => UI/畫面設計 => 程式設計。
其實若專案規劃階段結束的早(也就是實作類似最低可行產品的概念),並非需要等待 UI/畫面設計完工,才可以進行到「套版」(程式設計)的階段。
一直以來,我都認為「套版」是一個非常不好的說法,造成了偏差的印象。因為一個網站實際上是「一整套」的「軟體」,並非是「畫面」設計的出來,程式就配合寫的出來。雙方必須都要是可以執行實作的部分才行。
程式一定要實際的「美術畫面」被設計出來才能夠被接著實作嗎?其實不是這樣的:只要有 wireframe,RD 往往就可以先行動工。
但問題來了:若雙方各自進行自己的部分,那最後要怎麼組起來?
這其實還不是最大的問題。
最大的問題,其實是 Art 切出來的「版」,多半是不能夠被「套」的。
這個問題其實不能夠怪 Art,它們有的是藝術細胞,並非邏輯細胞。而:
在傳統的專案進行到「套版」階段,程式開發進度會難以掌控的其中一個原因。也是因為:RD 面對著一套爛 HTML,完全不知從何下手「套」進去。不改結構無法讓程式運作,或者程式運作效率會很低;但一改結構,就別肖想 Art 再幫你調整細部 style 和追加細節了。(東西被改的不爽情緒或原始結構被改變)
「套版」這個過程中無端被追加浪費了大量時間,這也是一個上線前的隱藏變因。
解決方法:製作一套 HTML/CSS 設計準則
多數的 application 有固定結構的 DOM。差異在於 〈div id="content"〉 〈/div〉 內的不同。至於
其實多半是相同的。
與其抱怨 Art 切出來的東西不能被套,不如設計一套 general 的實際準則可以被大家遵守學習。
不僅僅是 HTML 設計規則,其實開發當中會花掉很多時間的,還包含一些常見的 CSS hack/IE hack。這些也可以被整理起來,節省開發時間(當然,現在你只要學 compass 就好)。
剛剛有一個問題我們沒有回答到:就是個人偏好如何「組合」?
比如說美術的版裡面有這樣的 DOM 〈div class="article"〉 〈/div〉,class 是 article。
但是 RD 實際的程式碼卻是 post 這樣的物件名稱。
〈% @posts.each do |post| %〉 〈%= post.title %〉 〈% end %〉
這樣「套」起來不是很有問題嗎?如何實現所謂我說的「平行開發」?
其實 Art/RD 雙軌平行開發,才可以有效的為專案爭取到時間。
其實之前的所謂「套」,因為有完工的時間壓力,DOM 往往不能夠被更改。但是不改 DOM 又不能讓專案繼續被執行下去。
若是雙方平行開發,又有一個 deployable 的 application 讓進度透明,所有的修改和溝通調整,只是一下子的功夫(article 與 post 的不同,可以在很早期就被抓出來修掉),不但不會打亂開發節奏,反而會加速專案的進行。