2010年11月21日 星期日

開發 Gone 的一些軼事 ...


前幾天有位網友的電腦出現靈異事件,其應用程式資料夾整個被掏空。本來我想說應該是改了家目錄,但回頭想想,改家目錄頂多是設定全部回到預設值,應該不會幹掉應用程式本體才對。之後他的文章裡出現了關鍵字 "Gone" -- 他在出事前用過這軟體 ..... 我是作者當然得出面看看是怎麼回事,結果在他陳述使用情形之後,我便肯定是 Gone 沒有做好防呆,才使得它將它自己殺掉,造成程式的錯亂,最後就把它所在目錄的其他東西都幹掉了 ......

由於知道原因,我很快地把 bug 修好,並更新網頁。說到開發這個程式的動機其實蠻有趣的,因為 "直接刪除檔案不進垃圾桶" 及 "在垃圾筒中選擇性刪除檔案" 是 Mac OSX 使用者期盼很久的小功能,可是卻一直沒內建在系統的圖形介面中,雖然說沒有也沒什麼關係,但是能讓自己使用得更方便,何樂而不為 ?

於是我開始進行 Gone 的開發,雖然程式碼沒幾行,但是比想像中還要難搞。一開始由於非英文語系支援度的問題,Gone 根本不支援非英文檔案的刪檔 !!! 這樣當然不行,所以我就花了點時間上網找解法,並解決了這個問題 (這個部分可是付出慘痛的代價)。

程式寫完了之後,所要面對的下一件事是啥 ? 答案是軟體的打包,我一開始使用 "工序指令編寫程式" 的內建功能,將檔案存成 "應用程式",沒想到這樣做會讓自己的程式變成 Intel only 或 PPC only。經過 PTT 上的高手指點後,得知要輸出成 "應用程式套件" 才能製作 UB 程式 (這部分真的是 ..... 一定要錯過一次才會知道 =  =)。

軟體打包完了,還有一件事很重要,就是 icon !!!! 到目前為止,Gone 總共有三種 icon,第一種就是以 UpStair icon 的背景,加上虛線及空集合的符號。可是怎麼看都覺得不太對,無法表達出程式的含意,於是改成第二個 icon,也就是本文插圖的左邊。在這次 0.2 版改版時我順便把 icon 換成本文插圖的右邊,簡單地表達出 "消失" 的意思。至於為什麼要換 ? 原因無他,就是因為原本的 icon 實在太醜了 !!!! (話說一開始是打算將這個軟體的 icon 設計成黑洞,可是這樣會跟另一個加密檔案的軟體 icon 重疊,所以最後就用幾條線條來畫,總而言之表現出 "消失" 的意義就好了)

由上面幾段可以看出一個程式新手 try and error 的愚蠢行徑,不過我想這也算是學個經驗,雖然開發前期我也毀掉過自己的資料,但是畢竟是自找的,這次因為沒做防呆而讓別人的東西被毀掉還真是最過 ...... rm 指令十分危險,所以我在開發 Gone 的時候,不讓它支援需要管理者權限的刪除工作,不然它極有可能造成更多的災情。說到這裡,我不得不提一下 "T 客邦" 的這篇文章 :


看起來跟我做的事很類似對吧 ? 其實細看就知道這個作者寫完程式之後根本沒有仔細測試過。看看他寫的的程式碼 :


裡面一大堆問題,我也懶得批評了。這程式絕不該這樣寫,強烈建議正在看這篇文章的讀者們,不要沒頭沒腦地把他們的程式碼複製回去用,到時候爆炸了欲哭無淚。文章中不僅程式碼錯誤,而且還鼓吹使用者登入 root 帳號,用其權限刪檔,這真的是非常不好的示範 [1],弄不好就把系統毀掉了。雖然我覺得 "電腦王" 算是頗有水準的雜誌 [2],以前我也常常買來看 [3],但是我一直對裡面寫 Mac 專欄的人頗有微詞,不過這我之前就已經抱怨過了 ....

總而言之,Gone 0.2 版出世了。希望使用者能盡量回報 bug,讓程式更好用 (即使那是程式碼非常短的小工具),感謝各位 ~   <(_  _)>


附註
1. root 帳號明明就是能不用就不用,需要其權限時打個 sudo 跟密碼是在保護自己,不是沒事找事做,但就連很有名的 Linux 網站 "鳥哥的 Linux 私房菜" 裡,也都是以 root 的身分在執行指令,這其實是很不好的。
2. "T 客邦" 是 "電腦王" 的 "腹地",算是官方網站,"電腦王" 的文章裡也常常請讀者參考 "T 客邦" 裡的文章。
3. 以後可能沒辦法了,現在每個月有固定的 "MacToday" 要看  XD  以我趨近於零的空閒時間來說,一個月能 "細看" 一本雜誌是我的極限了。

2 則留言:

  1. 剛開始使用這個軟體,用途非常好,
    不過Icon上似乎可以再加強一點,
    因為以現在的版本,由於透明的部分很大,其實不太好選取到:P

    也許可以去找個設計感更好一點的Icon請求授權看看?

    回覆刪除
  2. 哈哈,沒錯,不太好選取,我都是點選 icon 下面的檔名再進行拖曳或移除 .... 等等的工作。

    不過拖放到 Finder 工具列跟 Dock 上之後應該就沒有選取的問題了吧?不太好選取也讓使用者不容易直接點選執行,這樣就不容易自爆 (?)

    我之前的文章有提到過,我手邊沒有好的繪圖軟體,那些大多都要付費,加上我本身的繪圖功力也不是很好,所以 icon 一直是我的弱項 ..... 感謝您的建議,我會將其列入考慮,在我有限的時間內我會去嘗試看看。 :)

    回覆刪除