Your SlideShare is downloading. ×
&& || and or まぜるな危険
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

&& || and or まぜるな危険

7,364
views

Published on


0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,364
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. && ¦¦ and orまぜるな危険
  • 2. 発端:とある魔法少女のフレームワーク
  • 3. 超訳:コーディングガイドラインでand / or とか推奨したらあかんで
  • 4. and/or で書いてみる
  • 5. <?phpfunction echoYesOrNo($a, $b){if ($a == 1 or $b == 2) {echo "yesn";}else {echo "non";}}echoYesOrNo(0, 2);
  • 6. yes
  • 7. リファクタリング: Extract Variable
  • 8. <?phpfunction echoYesOrNo($a, $b){$ab = $a == 1 or $b == 2;if ($ab) {echo "yesn";}else {echo "non";}}echoYesOrNo(0, 2);
  • 9. no
  • 10. ( ゚Д゚)ハァ?
  • 11. && ¦¦and or=演算子の優先順位が=を挟んで前と後だと!?
  • 12. ($ab = ($a == 1)) or ($b == 2);$ab = $a == 1 or $b == 2;
  • 13. 引用:Use of ¦¦ is discouraged as its clarity on someoutput devices is low (looking like the number11 for instance).
  • 14. 超訳:ヘボい画面だと ¦¦ 見にくいじゃん(ぶっちゃけ数字の11に見えるよね)
  • 15. ( ゚Д゚)ハァ?
  • 16. フォント変えろや
  • 17. <?phpfunction echoYesOrNo($a, $b){$ab = $a == 1 || $b == 2;if ($ab) {echo "yesn";}else {echo "non";}}echoYesOrNo(0, 2);こうすると...
  • 18. yes
  • 19. 結論•and !== &&•or !== ¦¦•論理演算は && と ¦¦ を使え•ヘボいフォントでプログラムすんな
  • 20. One More Thing
  • 21. どれ、ワシが正しいand / or の使い方を見しちゃる
  • 22. 返り値:成功した場合にファイルポインタリソース、エラー時に FALSE を返します。皆さんおなじみPHPのdisられポイントですね(誰ですかいまPSR-1って言ったの)
  • 23. $f = @fopen($filePath, r)or die("No such file.n");こう使います
  • 24. OR DIE「さもなくば、死ね」
  • 25. $f = @fopen($filePath, r)or die("No such file.n");orの左がtrueに確定すればそれ以降を評価する必要がない
  • 26. $f = @fopen($filePath, r);while($f and $str = fgets($f)) {echo $str;}こう使います2
  • 27. TRUE AND ...「真実、そして...」
  • 28. $f = @fopen($filePath, r);while($f and $str = fgets($f)) {echo $str;}andの左がfalseに確定すればそれ以降を評価する必要がない
  • 29. $f = @fopen($filePath, r);while($f and $str = fgets($f)) {echo $str;}&&じゃないからカッコなしで=が使える
  • 30. 意図して使い分けろ!!PHP力とはこういうことさ
  • 31. 結論•and と or で求めるものは true/falseではない•and = そして演算子•or = さもなくば演算子•で、読みやすいか? これ...
  • 32. 読みにくいPHPはやめましょう