2019-03-19に更新

三項演算子って初見殺しだよなって話

別に、巷でよくある「三項演算子使え・使うな論争」ではなくて。
単純に「三項演算子って初見殺しだよな」っていう感想であって、
それ以上でもそれ以下でもないです。

はじめに

もし、以下のような検索でここにたどり着いた人
+ C# ? :
+ PHP はてな コロン
+ Javascript クエスチョン コロン

君の探しているものはこれだよね?

string hoge = fuga ? piyo : piyopiyo

これは、「三項演算子」って言います。  
三項演算子って何? っていうのは、「三項演算子」でググり直してね。
残念ながらこの記事には説明はないよ。ごめんね。

というわけで

三項演算子って初見殺しというか、初心者に優しくないよなーと。
いくつか理由をば。

入門書に載ってない

いや、載ってるかもしれないけど。
だいたい、ifとかswitchは載ってるけど、三項演算子は載ってないイメージ。
(そもそも三項演算子は演算子であって、文であるifやswitchとは違う云々とかはとりあえず置いておく)
というか入門書読んでるレベルの初心者は三項演算子の説明があってもスルーすると思う。

検索しにくい

ということで三項演算子を学ばなかった初心者くん。
(入社・配属とか色々あって)他人のソースを見る機会を得て、初めて三項演算子に出会います。

「え、何、これ?」

わからないことはとりあえずググりましょう。

C# ? :

oh...
ダメです。それじゃあ「C Sharp - ウィキペディア」みたいな検索結果しか出ませんね。
googleで記号を検索するのは難しいですね。

シングルクォーテーションで囲えって? それができれば初心者やってないよ!

日本語に直せって? それがで(ry
いや、日本語にするのは少し考えればわかるんですけどね。状況によってはテンパってて愚直に記号で検索して出てこなくて余計にテンパったりするんですよね。初心者だし。

そんなことも知らないの恐怖症

じゃあ、先輩に聞けよって話になると思うんですけどね。
聞きづらいじゃないですか、散々「そんなことも知らないの?」って言われ続けてるんですから。
初心者は「そんなことも知らないの? なこと」と「それは知らなくても仕方ないね、なこと」の区別って難しいじゃないですか。
(三項演算子ってどっちだろう?)

ってことで、「それを今わからないと困るのか」ということを悩んだ結果、後回しにする、という結論になることも。(数年前の僕ですね)

とにかく答えに辿り着きづらい

一応、無理やり理由を3つひねり出してみましたけど、個人的には、
ググりにくい
これに尽きると思うんですよね。
まあ、三項演算子に限ったことじゃなくて、PHPのアロー演算子とか、記号で検索せざるを得ないものって答えに辿り着きにくいと思うのです。

それの対応ってなかなか難しくて検索の仕方の経験値を上げるしかないのかなーと。
どうにかなんないかなー。

結論

ないよそんなもん。
ただの感想だって最初に言ったじゃん。

HELP!

マークダウン詳しくないんでけど、
リストがうまく作れないのと、
C#の#が見出し認定されるみたいで目次に出ちゃうんですけど、どうすればいいですか? 誰か教えて。


hammhiko

恥を晒して生きていきます。

Crieitはβバージョンで開発中です。進捗は公式Twitterアカウントをフォローして確認してください。 興味がある方は是非記事の投稿もお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

関連記事

コメント