Я пишу много сценариев дома и на работе. В большинстве случаев скрипты используются только несколько раз для выполнения выбранной ими задачи, а затем больше никогда не используются. Однако иногда я пишу сценарий, чтобы сделать что-то более сложное, что требует ввода данных пользователем. Именно в этот момент я обычно мучаюсь над тем, реализовать ли графический интерфейс или придерживаться интерфейса командной строки y / n, нажимать 1-10 и т. Д. Этот тип интерфейса может стать утомительным в использовании и сложным в обслуживании.

Я знаю, что некоторые вещи больше подходят для графического интерфейса, чем другие, например, выбор объектов в огромном списке. Однако время, необходимое для переключения приложения командной строки на использование графического интерфейса пользователя, недопустимо. Для меня требуется много времени, чтобы добавить графический интерфейс даже с самой простой структурой, которую я могу найти.

Мне любопытно, есть ли у кого-нибудь из разработчиков метод определения того, в какой момент их сценарий вырос настолько, что ему понадобится графический интерфейс. Или я ошибаюсь, всегда ли я должен писать свои сценарии, предполагая, что позже я могу добавить графический интерфейс?

4
Jeremy Mack 1 Фев 2009 в 21:34
1
Благодарим за ссылку на shoooes.net. Смотрится интересно !!
 – 
Niyaz
1 Фев 2009 в 22:20

7 ответов

Лучший ответ

Как и на многие вопросы этого типа, ответ таков: все зависит от обстоятельств.

Если ваша программа / сценарий выполняет только одну задачу, получая несколько входных данных от пользователя, лучше придерживаться режима без графического интерфейса.

Если приложение выполняет несколько задач и вы думаете, что пользователь будет использовать приложение для выполнения множества задач, вы можете рассмотреть возможность использования графического интерфейса пользователя.

Планируете ли вы распространять эту программу среди других? Тогда лучше предоставить графический интерфейс.

Если пользователи не обладают техническими знаниями, графический интерфейс просто необходим!

Это оно.

9
Niyaz 1 Фев 2009 в 21:40
По вашему последнему пункту, это не всегда так. В зависимости от того, является клиент клиентом или коллегой. Если инструмент достаточно прост, коллега может использовать командную строку.
 – 
he_the_great
1 Фев 2009 в 22:04

Это не отвечает на ваш вопрос, но FWIW промежуточный шаг между пользовательским интерфейсом и командной строкой должен иметь файл конфигурации вместо пользовательского интерфейса:

  1. Отредактируйте файл конфигурации
  2. Запустите программу

При необходимости формат файла конфигурации можно усложнить и хорошо прокомментировать.

10
ChrisW 1 Фев 2009 в 21:44

Когда вы хотите передать свои вещи кому-то еще доступным для обнаружения способом. Скрипты командной строки прекрасны, потому что они просты и элегантны, но их трудно обнаружить. То есть, если бы вы передали свои сценарии кому-то другому, не имеющему документации, смогли бы они выяснить, что это такое и как их использовать? Если ваши задачи настолько просты, что myscript /? полностью объяснит, что вам нужно сделать, тогда вам не нужен графический интерфейс.

Если, с другой стороны, вы передаете свои скрипты кому-то, кто не слишком техничен или нуждается в более подробном визуальном руководстве по задаче, которую необходимо выполнить, то, конечно, графический интерфейс - хороший способ. Возможно, вы даже захотите оставить свои скрипты такими, какие они есть, и просто создать отдельный графический интерфейс, который будет запускать их для максимальной гибкости.

3
Dave Markle 1 Фев 2009 в 21:42

Я думаю, что это решение также зависит от аудитории, которая будет использовать ваш скрипт: если это люди, которым комфортно работать с командной строкой, тогда нет необходимости добавлять графический интерфейс, пока ваш скрипт имеет хороший / help, который объясняет все параметры, которые он принимает. Но если вы хотите, чтобы «средний пользователь» мог использовать вашу программу, я бы предпочел добавить графический интерфейс, потому что в противном случае ваша программа может быть недостаточно интуитивно понятной для этой группы пользователей.

2
ISW 1 Фев 2009 в 21:47

Если вам нужны только "диалоги" для улучшения ваших скриптов, вы можете использовать KDE Kdialog или Gnome Zenity.

1
sebthebert 2 Фев 2009 в 01:32

Я не могу сосчитать, сколько раз я писал то, что, как я думал, будет «разовым», и это стало более полезным, чем я думал, и закончилось тем, что я написал для него графический интерфейс, или мне нужно было вернуться к использовать программу несколько месяцев спустя. Преимущество графического интерфейса пользователя состоит в том, что он позволяет легче запоминать, что в противном случае могло бы быть аргументами командной строки. Т.е. для флагов и параметров вы можете просто использовать флажки, поля со списком, переключатели и имена файлов селекторов файлов. Я использую Borland C ++ RAD, поэтому довольно быстро и легко создать простое (или даже не такое простое) диалоговое окно. Сейчас я часто начинаю с создания графического интерфейса.

0
Roger Nelson 2 Фев 2009 в 02:57

Если вы используете Linux, попробуйте Zenity. Это простой в использовании инструмент для создания графического интерфейса для программ командной строки.

0
mdm 2 Фев 2009 в 11:25