Из некоторых проектов с открытым исходным кодом я собрал следующий стиль кодирования
void someFunction(bool forget);
void ourFunction() {
someFunction(false /* forget */);
}
Я всегда сомневаюсь, что false
здесь значит. Означает ли это «забыть», или «забыть» относится к соответствующему параметру (как в случае выше), а «ложь» означает его отрицание?
Какой стиль используется чаще всего, и как лучше (или некоторые из лучших способов) избежать двусмысленности?
someFunction(forget: true);
true
чтобы false
и не обновлять свой комментарий. Если вы не можете изменить API, то лучший способ это прокомментироватьsomeFunction( false /* true=forget, false=remember */)
sortAscending
и / sortDescending
или аналогичных). Теперь внутри они оба могут вызывать один и тот же закрытый метод, который может иметь такой тип параметра. На самом деле, если бы язык поддерживал это, вероятно, что я передал бы лямбда-функцию, которая содержала бы направление сортировки ...