Hello Mylar

0

源起

Mylar 是一個 Eclipse 上面的附加工具,這個工具主要是轉變工作的方式,把原先的專案檔案 (project/file) 為主的開發方式,轉為工作流程 (task) 為主的方式。

參考

  1. Mylar 官方
  2. Mylar Getting Started
  3. Introduction to Mylar
  4. Mylar 試用後強力推薦
  5. About Mylar 1.0

舉例

舉一個 Spring-OSGi 的 bundle 來說,變動一個服務內容需要下面幾個檔案,這類變動不是 refactoring 可以幫你代勞的那種,通常是比較巨大的變動與新增。

File-Focused 檔案觀點如下 :

  1. [Service Interface Bundle] /src/haha/service/FooService.java/haha()
  2. [Service Interface Bundle] /META-INF/MANIFEST.MF/Import-Package: xx
  3. [Service Implement Bundle] /src/haha/service/FooServiceImpl.java/haha()
  4. [Service Implement Bundle] /MEAT-INF/MANIFEST.MF/Export-Package: xx
  5. [Service Implement Bundle] /MEAT-INF/spring/service-beans.xml/..
  6. [Service Implement Bundle] /test/haha/service/FooServiceImplTest.java/..
  7. [Service Implement Bundle] /test/haha/service/FooServiceImplTest.xml/..
  8. [Service Client Bundle] /src/haha/client/FooServiceClient.java/..
  9. [Service Client Bundle] /MEAT-INF/MANIFEST.MF/..
  10. [Service Client Bundle] /MEAT-INF/spring/client-beans.xml/..
  11. [Service Client Bundle] /test/haha/client/FooServiceClientImplTest.java/..
  12. [Service Client Bundle] /test/haha/client/FooServiceClientImplTest.xml/..

總計有 12 個檔案,每個檔案可能有數個地方需要更改,影響所及可能達到數十個地方。過幾個月後,即使是原負責寫的人來改,也要許多時間來重複達到之前做過的路徑,這中間 unit test 可以協助確保沒有改錯或是動到其他地方,但是對提高修改速度還是需要某些工具。

自己寫的都會如此,更何況是原先都尚未接觸的人接手修改。

Mylar 讓你跳脫出來,不用 12 個檔案中間有數十個地方要改的眼光去看這件事,這會讓全盤考慮受到阻礙,而是用 1 個工作流程 (變動服務內容) 來看,同時這個工作流程可以交換保留,方便後續維護工作。

Task-Focused 工作流程觀點如下,只剩下一個 :

  1. Modify Service Task

Mylar 簡易流程

  1. 新增 task
  2. Active Task
  3. 開啟編輯文件。
  4. 預設值自動將開編輯器的文件部份加入 context。
  5. 關閉編輯器會將文件整個文件退出這個 task。
  6. 很多文件開的時候,一定要關掉一些,記得關掉編輯文件前, 要先按 pause capturing context 再關 (1.0 裝好沒有按鈕,下拉不好找), 直接關整個檔案會被取消掉。
  7. Deactive Task

消失的 pause 按鈕

用過一陣子之後,可以體會為何 Mylar 1.0 正式版將那個暫停功能藏起來,其實是很人性的做法,因為你往往會做著做著忘了已經暫停,這時候 Mylar 幾乎沒有用。

不需要暫停的原因是根本不需要關 editor,這是 File-Focused 的習慣, 因為開開關關成為一種編輯習慣,突然 Mylar 讓你都不用關會很不習慣,往往一不注意就關掉 editor。

所以應用 Mylar 應該開了就不要關掉 editor,除非真的沒興趣才關, 不要有興趣的檔案,為了省開幾個 editor,在哪裡一直按 pause 。

那要是幾百個檔案有興趣,整個編輯區不就滿滿都是一堆 editor ? 其實不用去關或管這些 editor,讓 Mylar 去做就可以,專注於你的 task 才是 Mylar 應用的重點,其他的交給 Mylar 去做就好。

觀察

  1. 習慣不要關掉 editor,因為已經篩過,要關掉要注意 task 的 active 問題。
  2. 轉換工作方式需要動到許多舊的東西,也許從新專案開始比較好。
  3. 是否需要裝 issue tracking system,如果是小專案應該就不用, 如果是大專案,還是要裝一下比較好,看起來 Trac 不錯,只是裝了就要維護,這也必須考量。

Comments

(leave url/email »)

   Preview comment