(predicate) ? (if-true-value) : (else-value)
for example,
indecipherable = (true ? more : less);
In this case, the operation of the ternary operator always makes the code more indecipherable.
I think it is always bad news if the explanation for an operator is required before one can read it effectively. I wouldn't be surprised if the original author of this device eventually regretted his decision. It may have been created before the existence of the qwerty keyboard- and typists couldn't manage more than a few words per minute.
I prefer a more verbose and natural style:
if (predicate)
{
else
{
If you discount the braces and other syntactic conventions, you aren't really gaining much typing efficiency by using the ternary operator. You are losing understandability and maintainability. As soon as more than one statement is required, the ternary operator must be refactored into an if-else block anyway.
I know there is a party of programmers out there that are keen on jamming a whole bunch of logic into the smallest space possible. I think that sort of thinking is short-sighted. Understandability always trumps conciseness in programming. The ternary operator is a device from a long-gone era when this principle was not well understood.