Создание хорошего интерфейса для функций, который работает с путями - PullRequest
3 голосов
/ 24 августа 2011

У меня есть функции, которые получают путь к файлу в качестве входного аргумента. Эти функции являются кроссплатформенными. Функции поддерживают как Unicode, так и обычные пути к файлам. Какой интерфейс лучше для этой функции, знаю, у меня есть 2 варианта:

  1. сделать две версии каждой функции FunctionW и FunctionA, как в WinAPI.
  2. сделать одну версию, которая получит char * в качестве входного аргумента, но эта строка должна быть в формате UTF8.

Какой из них лучше?

Заранее спасибо!

1 Ответ

1 голос
/ 24 августа 2011

Это действительно зависит от остальной части вашего кода и от того, как вы собираетесь их использовать.Здесь нет правильного ответа - попытайтесь приблизить время, которое вам понадобится, чтобы написать, использовать и сохранить каждый из вариантов, и попробуйте выбрать тот, где проще.FunctionA и FunctionW.Если разница невелика, то вы, вероятно, можете использовать одну внутреннюю вспомогательную функцию, которую они будут вызывать, и поэтому дополнительное время для написания и поддержки второй функции минимально.Если это так, подумайте, насколько сложно (если вообще) было бы преобразовать строки в UTF8 для второго варианта, который вы представили.

...