Я выбрал бы опцию Exception в первом месте.
, Но, во втором месте, я предпочел бы метод C-стиля:
public boolean authenticate(Client client, final StringBuilder sb) {
if (sb == null)
throw new IllegalArgumentException();
if (isOK()) {
sb.append("info message");
return true;
} else {
sb.append("error message");
return false;
}
}
Это не настолько странно, и это сделано во многих местах в платформе.
Как указал BQ, Start External Program и Working directory хранятся в файле .user. Однако вы можете использовать $(Program Files) в файлах .csproj и .user для любой настройки, связанной с именем каталога... единственная хитрость в том, что вам придется вручную редактировать соответствующий файл .user или .csproj в текстовом редакторе.
При условии, что пользователь не редактирует значение в Visual Studio, оно сохраняет значение $(ProgramFiles) и корректно расширяется как в 32-битной, так и в 64-битной среде.
Эти параметры отладки, «Запуск внешней программы» и «Рабочий каталог», хранятся в файле ProjectName.csproj.user, а не в файле решения (.sln) или в проекте (.csproj. ) файл. Как правило, файлы .user не включаются в систему управления версиями, поскольку они относятся к среде пользователя, в которой происходит отладка.
Вы можете поддерживать два отдельных файла .csproj.user (по одному для каждой среды) и переключаться на правильную версию перед открытием решения. Не идеально, но лучше, чем ничего.