2009-02-01 42 views
4

我在家裏和工作上寫了很多腳本。大部分時間腳本只用了幾次來完成他們選擇的任務,然後再也不用了。但是,有時候我會寫腳本來做更復雜的事情,這需要用戶輸入。在這一點上,我通常對是否實現GUI或者使用y/n進行操作,按1-10等命令行界面而苦惱。這種類型的界面可能會變得乏味且難以維護。什麼時候應該添加一個GUI?

我知道有些東西比其他人更適合GUI,比如在巨大的列表中選擇東西。但是,切換命令行應用程序以使用GUI所花費的時間太長了。對我而言,即使是我能找到的最多的框架,也需要花費大量的時間才能添加GUI。

我很好奇,如果任何開發人員有一個方法來確定他們的腳本已經增長到足以需要一個GUI的點。或者我正在以這種錯誤的方式進行討論,我是否應該總是編寫我的腳本,假設我以後可能會添加一個GUI?

+1

感謝您將鏈接指向http://shoooes.net/。它看起來很有趣! – Niyaz 2009-02-01 19:20:10

回答

9

與這種類型的許多問題一樣,答案是它取決於。

如果您的程序/腳本通過從用戶接收大量輸入來完成一件事情,最好是堅持使用非GUI模式。

如果應用程序執行的不止一件事情,並且您認爲用戶將使用該應用程序執行大量操作,則可以考慮使用GUI。

您打算將此程序分發給其他人嗎?那麼最好提供一個GUI。

如果用戶不是技術人員,則必須使用GUI!

就是這樣。

+0

就您的最後一點而言,情況並非總是如此。取決於客戶是客戶還是同事。如果該工具足夠簡單,則命令行對於同事可用。 – 2009-02-01 19:04:21

3

當你想以可以發現的方式把你的東西交給別人。命令行腳本非常棒,因爲它們簡單而優雅,但它們不易被發現。也就是說,如果您要將腳本交給沒有文檔的其他人,他們是否能夠弄清楚它們是什麼以及如何使用它們?如果你的任務很簡單,那麼myscript /?將解釋你需要完全做什麼,那麼你不需要GUI。如果另一方面,如果你將腳本交給一個不那麼技術的人,或者需要一些關於要完成的任務的更多的視覺指導,那麼通過圖形用戶界面是一種好方法走。您甚至可能希望保持原樣,並創建一個單獨的GUI來運行它們以獲得最大的靈活性。

10

這不回答你的問題,但FWIW一箇中間步驟,用戶界面和命令行之間,是有一個配置文件,而不是一個UI:

  1. 編輯配置文件
  2. 運行程序

如果需要,配置文件格式可能很複雜並且備受好評。

2

我認爲這個決定還取決於將使用你的腳本的觀衆:如果是舒適的人使用命令行,那麼沒有迫切需要添加一個GUI,只要你的腳本有一個好的/幫助,它解釋了它接受的所有參數。但是如果你想讓「普通用戶」能夠使用你的程序,我寧願添加一個GUI,因爲否則你的程序可能對於那個用戶組來說不夠直觀。

0

我無法統計我寫過什麼我認爲是「一次性」的次數,它變得比我想象的更有用,並最終爲它寫了一個GUI,或者我需要幾個月後再回來使用一個程序。 GUI的優勢在於它可以更容易地記住可能是命令行參數的內容。即對於標誌和選項,您可以簡單地使用複選框,組合框,單選按鈕和文件選擇器文件名。我使用Borland C++ RAD,因此將一個簡單(甚至不是那麼簡單)的對話框放在一起非常快捷。我現在經常開始創建GUI。

0

如果您使用Linux,請嘗試Zenity。這是一個易於使用的工具來爲命令行程序製作GUI。

相關問題