Re[2]: useless statement
От: remark Россия http://www.1024cores.net/
Дата: 16.11.09 12:02
Оценка: +2
Здравствуйте, Alexander G, Вы писали:

Можно его и как useless трактовать:

#define useless unless

void foo(shared_ptr<file> f, ...)
{
  useless (f)
    throw runtime_error("input is useless");
  ...
}


А если серьёзно, то иногда приходится писать что-то типа:
if (!(lengthy_cond1
  && lengthy_cond2
  && lengthy_cond3
  && lengthy_cond4))


Но мне лично такая форма не очень нравится, не очень читаемо. Инвертировать все условия тоже не нравится, т.к. 'позитивные' условия обычно легче пишутся и читаются, чем 'негативные' (в смысле, что например "пришедший пакет корректный", а не "пришедший пакет не корректный").
А с unless имхо выглядит лучше:
unless (lengthy_cond1
  && lengthy_cond2
  && lengthy_cond3
  && lengthy_cond4)


Хотя, наверное, это всё же ещё не достаточная причина, что бы дефайнить и использовать такую фигню в реальном коде.



1024cores &mdash; all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.