プログラマーに人気のリーダブルコードを要約(第1章理解しやすいコード)
ちょっとたまには投資の世界から離れて自分が興味のある分野の話をしたいと思います。
最近、趣味レベルですがプログラミングのコードを書く機会が増えており、時々ブログで使用するデータや図を自動化して作成しています。
ですが、少し修正をするたびに、このコードの意味ってなんだっけと?後戻りすることが多々あり、自分の書いたコードに吐き気を催すくらい可読性が低いものと実感しております。
さすがにこれはまずいと思い現在、プログラマー界隈で非常に有名なリーダブルコードを読んで私のコードの可読性を向上に繋げたいと考えています。
もし、私のようにコードの可読性を上げたい方がいれば下記の書籍を購入することをおすすめします!
[itemlink post_id="3592″]
優れたコードとは?
みなさん質問です!
下記の2つのコードのうちどっちの方が優れていると思いますか?
return exponent >= 0? val * (1 << exponent) : val /(1 << -exponent)
if (exponent >= 0){
return val * (1 << exponent);
}else{
return val * (1 << -exponent);
}
みなさんは上記の2つのコードがあった場合、どちらが好きでしょうか?
上の方が1行で書かれている分、スタイリッシュに見えますがjavascriptならでは書き方をしています。
一方で、下はexponentが0か否かで別々の動きをすることがわかり、他の言語と同様な書き方のためすぐにわかります。
皆様がコードを書く際にはどちらの記述をよく行なっているでしょうか?
読みやすさの基本原理
本書では読みやすさを求めることが最も大切なことと述べています。
では読みやすさとはなんだろうか?
それはコードは他の人が最短で理解できるように書かなければならないと記載されています。
ですが、みなさんはこうも考えてはいないだろうか?
このソースコードは自分一人しか管理しないから他の人に読みやすくして何になるんだよ?、自分自身が読めれば充分だよ!など。。。
だが、考えてほしいです。今たとえ読めていても1ヶ月後2ヶ月後になれば読めなくなっている可能性もあるということを。。。
そうなった場合、誰が保守するのだろうか?当然自分自身です。
そうならないためにも必ず他人が理解できるようなコードを書く必要があると考えています。
では、先ほどの例を考えるとどうでしょうか?
1つ目のコードは1行ですっきりとなっているが、2つ目のコードは5行と長い。
単純計算だが読み解くまでに2つ目のコードは1つ目のコードに比べて5倍の時間を要する。
ですが、本当にそうだろうか?
私はjavasciptに精通していないため、?:の書き方に非常に違和感があり理解に時間を要しました。
一方、2つ目のコードはどの言語にも共通している書き方のためすぐに理解ができました。
当然、これは私自身の趣味の話しだが2つ目のコードの方が可読性が高いということになります。
そのため、必ずしも短いコード=可読性が高いというわけではないことを覚えておいて欲しい
第1章では以上のことを述べています。
もし興味ある方は書店などで下記のリーダブルコードを買って読んでみてください!
[itemlink post_id="3592″]
ディスカッション
コメント一覧
まだ、コメントがありません