История изменений
Исправление firkax, (текущая версия) :
Оба варианта плохие. В твоём куча тавтологии.
Как я понял, проверку на директорию поставить рядом с проверкой опции не получается, это разные блоки кода, поэтому нормальный вариант получается как-то так:
Вместо первой сложной формулы это:
print_file_names = (filename_option?filename_option:(num_operands>1));
if(!print_file_names) print_file_names = (recurse && S_ISDIR(st.st_mode)) ? 1 : -1;
Ну и в обоих переменных 0 = неопределено.
Хороший короткий и интуитивно понятный код. Без неочевидных построений как у них и без тавтологических простыней как у тебя.
Впрочем, поскольку у рекурсивного прохода по директориям должен быть какой-то свой обработчик (когда мы уже выяснили что это директория и залезли внутрь), то лучше просто в его начало вставить
if(!print_file_names) print_file_names = 1;
Исправление firkax, :
Оба варианта плохие. В твоём куча тавтологии.
Как я понял, проверку на директорию поставить рядом с проверкой опции не получается, это разные блоки кода, поэтому нормальный вариант получается как-то так:
Вместо первой сложной формулы это:
print_file_names = (filename_option?filename_option:(num_operands>1));
if(!print_file_names) print_file_names = (recurse && S_ISDIR(st.st_mode)) ? 1 : -1;
Ну и в обоих переменных 0 = неопределено.
Хороший короткий и интуитивно понятный код. Без неочевидных построений как у них и без тавтологических простыней как у тебя.
Исправление firkax, :
Оба варианта плохие. В твоём куча тавтологии.
Как я понял, проверку на директорию поставить рядом с проверкой опции не получается, это разные блоки кода, поэтому нормальный вариант получается как-то так:
Вместо первой сложной формулы это:
print_file_names = (filename_option?filename_option:(num_operands>1));
if(!print_file_names) print_file_names = S_ISDIR(st.st_mode) ? 1 : -1;
Ну и в обоих переменных 0 = неопределено.
Хороший короткий и интуитивно понятный код. Без неочевидных построений как у них и без тавтологических простыней как у тебя.
Исправление firkax, :
Оба варианта плохие. В твоём куча тавтологии.
Как я понял, проверку на директорию поставить рядом с проверкой опции не получается, это разные блоки кода, поэтому нормальный вариант получается как-то так:
Вместо первой сложной формулы это:
print_file_names = (filename_option?filename_option:(num_operands>1));
if(!print_file_names) print_file_names = S_ISDIR(st.st_mode) ? 1 : -1;
Хороший короткий и интуитивно понятный код. Без неочевидных построений как у них и без тавтологических простыней как у тебя.
Исправление firkax, :
Оба варианта плохие. В твоём куча тавтологии.
Как я понял, проверку на директорию поставить рядом с проверкой опции не получается, это разные блоки кода, поэтому нормальный вариант получается как-то так:
Вместо первой сложной формулы это:
print_file_names = (filename_option?filename_option:(num_operands>1));
if(!print_file_names) print_file_name = S_ISDIR(st.st_mode) ? 1 : -1;
Хороший короткий и интуитивно понятный код. Без неочевидных построений как у них и без тавтологических простыней как у тебя.
Исходная версия firkax, :
Оба варианта плохие. В твоём куча тавтологии.
Как я понял, проверку на директорию поставить рядом с проверкой опции не получается, это разные блоки кода, поэтому нормальный вариант получается как-то так:
Вместо первой сложной формулы это:
print_file_names = (filename_option?filename_option:(num_operands>1));
if(!print_file_names) S_ISDIR(st.st_mode) ? 1 : -1;
Хороший короткий и интуитивно понятный код. Без неочевидных построений как у них и без тавтологических простыней как у тебя.