1) Как только вы сделаете это в течение нескольких месяцев, вы скоро найдете то, что подходит вам лучше всего. Мой совет, вы должны сделать их маленькими. Мы часто делим наши ранние функции на более мелкие куски, но никогда не объединяли их. Это удобно для использования фонов и т.д ...
2) У нас была большая проблема с этим, и мы потратили целую вечность, делая это так, а не иначе. В конце концов, мы сгруппировали их по услугам, которые предоставляет наша компания. например платежи, регистрация клиентов, управление запасами
Неудобно, что функции не всегда соответствуют иерархическому древовидному представлению о мире, поэтому либеральное использование тегов и ваша основная группировка функций менее важны.
Вы пробовали двор? Вот пример здесь Мы только что встроили его в наш CI, он позволяет вам собирать наборы сценариев на основе тегов, вы можете создавать объединения, пересечения и т. Д. ... того стоит:)