Функции «удобства» - PullRequest
       5

Функции «удобства»

3 голосов
/ 17 мая 2011

В некоторых частях моей библиотеки есть «удобные» функции.Например, класс контейнера может иметь функцию для анализа информации из строки.Эти функции не обязательно нужны (или нужны) постоянно, поэтому я бы хотел поместить их в отдельные файлы, чтобы их можно было включать или исключать в соответствии с потребностями пользователей.структурированы?Должен ли я поместить все «удобные» вещи в заголовочные файлы в отдельную папку?Или, может быть, он принадлежит совершенно отдельной библиотеке ...?

Как большие библиотеки (например, Boost) обрабатывают такие вещи?Или они просто вообще этого избегают?

Ответы [ 2 ]

1 голос
/ 18 мая 2011

«Следует» - это слово, которое вызывает религиозные отклики, но я думаю, что вам будет лучше подумать об этом, как если бы вы были пользователем вашей библиотеки.

Как бы вы хотите это структурировать?Все в одном API, чтобы вы могли найти его или разбросать по пути к классам?

Есть ли реальная причина даже подумать о том, чтобы поместить (например) метод parseString класса вашего контейнера где-нибудь еще, чем в классе контейнера?

0 голосов
/ 18 мая 2011

Обычно провайдеры библиотек организуют свою библиотеку в логические части, но затем предоставляют способ включить всю библиотеку за один раз (в C / C ++ - один заголовочный файл; в Ruby - одно включение, & c.),Это обеспечивает хорошую сплоченность и позволяет пользователям библиотеки включать только те фрагменты, которые им нужны, если они того желают.

...