Функции против скриптов - Unix Bash Программирование - PullRequest
3 голосов
/ 02 сентября 2011

Я довольно новичок в программировании (около года - с Java) и очень плохо знаком с Bash (около шести недель).Я написал небольшое приложение, которое делает несколько вещей и состоит из сценариев.Не одна функция.Я знаю, что у меня может быть один файл со всеми функциями, но почему и / или когда я должен.

Например, у меня есть скрипт getID, который вызывает скрипт «validateID», чтобы убедиться, что идентификатор действителен (ровно 3с номерами, например 827 395 148), затем проверяет файл «идентификаторы» на предмет конкретного идентификатора и возвращает истину, если идентификатор проверен и найден.

Затем у меня есть другой скрипт с именем getID2, который проверяет идентификатор и возвращаетистина, если идентификатор не найден.

Недавно я нашел команду getopt, в которой я могу сказать, что getID -f возвращает true, если найден, и getID -n возвращает true, если не найден.Или я могу написать функцию getID (), которая возвращает 0, если найден, и 1, если не найден.

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

Особенности - Приложение представляет собой небольшую систему отчетов, где у меня есть список идентификаторов, имен и оценок.Я могу просматривать, редактировать, обновлять или удалять кого-либо по его идентификатору.

1 Ответ

7 голосов
/ 02 сентября 2011

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

Редактировать: если определенная функция (или набор функций) будет вызываться из нескольких автономных сценариев, вы можете поместить эту функцию как функцию в отдельный файл и использовать ее в различных сценариях, где она используется..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...