code_junkie

Which coding style you use for ternary operator?

Nov 11th, 2011
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. $value = ( $a == $b )
  2. ? 'true value # 1'
  3. : ( $a == $c )
  4. ? 'true value # 2'
  5. : 'false value';
  6.  
  7. result = (foo == bar) ? result1 :
  8. (foo == baz) ? result2 :
  9. (foo == qux) ? result3 :
  10. (foo == quux) ? result4 :
  11. fail_result;
  12.  
  13. $value = ($a < 0) ? 'minus' : 'plus';
  14.  
  15. if else if else
  16.  
  17. $result = ($x == y)
  18. ? "foo"
  19. : "bar";
  20.  
  21. $myvar = ($x == $y)
  22. ?(($x == $z)?'both':'foo')
  23. :(($x == $z)?'bar':'none');
  24.  
  25. $x = 1;
  26. $y = 2;
  27. $z = 3;
  28. $myvar = ($x == $y)
  29. ? "foo"
  30. : ($x == $z)
  31. ? "bar"
  32. : "none";
  33. $myvar == 'none'; // Good
  34.  
  35. $x = 1;
  36. $y = 2;
  37. $z = 1;
  38. $myvar = ($x == $y) ? "foo" : ($x == $z) ? "bar" : "none";
  39. $myvar == 'bar'; // Good
  40.  
  41. $x = 1;
  42. $y = 1;
  43. $z = 3;
  44. $myvar = ($x == $y) ? "foo" : ($x == $z) ? "bar" : "none";
  45. $myvar == 'bar'; // Bad!
  46.  
  47. $x = 1;
  48. $y = 1;
  49. $z = 1;
  50. $myvar = ($x == $y) ? "foo" : ($x == $z) ? "bar" : "none";
  51. $myvar == 'bar'; // Bad!
  52.  
  53. 'before refactoring
  54. If x = 0 Then ' If-Then-Else puts emphasis on flow control
  55. label = "None"
  56. Else
  57. label = Foo.getLabel(x) ' If-Then-Else forces repeat of assignment line
  58. End If
  59.  
  60. 'after refactoring
  61. label = If(x = 0, "None", Foo.getLabel(x)) ' ternary If puts emphasis on assignment
  62.  
  63. $foo = (isset($bar)) ? $bar : 'default';
  64.  
  65. String var = (obj == null) ? "not set" : obj.toString();
  66.  
  67. String val; [...]
  68. int var = (val == null) ? 0 : Integer.parseInt(val);
Add Comment
Please, Sign In to add comment