読者です 読者をやめる 読者になる 読者になる

StaticDiary

AI、iOS、Android開発関連の備忘録です

新卒エンジニアとして読むべき本「リーダブルコード」

書評 技術書

みなさん、こんばんは。しずるです。

最近見たい映画はファンタスティックビーストです。時間できたら早く見に行きたいところです。

 

さて今回は、今週自分が読んでいた本でこれはエンジニアなら読んだほうがいいんじゃないかなと思って共有したいので紹介させていただきます。

 

リーダブルコードとは?

 オライリー・ジャパンから発売されている技術書でコードを書いていく上での実践的なアドバイスが書かれている。

 

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

 

 

 

開発者として生きていくうえで一人で開発するのではなくやはりチームを組んで働いていくために他の人が読んだときにすぐに理解できる読みやすいコードを心がけて書いていく必要がある。

 

では、読みやすいコードとは何なのか?と新卒エンジニアなら思うかもしれない。

 

ちなみに、ここでいう新卒エンジニアとは自分のように一人で何か簡単なゲームでも作ったけどサービスとして世の中に提供できるものかと言われたら微妙という人や、大学ではある程度勉強したけど実際の開発はよくわからないという人、一人でコードは書いてきたけどチームを組んで開発した経験がないという人に向けて書いている。

 

コードを書いていくうえで心がけておくべきことが要約されている。

 

実際に働いてみてから読んだ感想

私は今とある企業にてインターン中であり、内容はiOS & Androidアプリ開発&運営のメンバーとして働いています。

 

働いているとはいってもリーダーではないし、個人でオリジナルの簡単なゲームくらいなら作ったことがあるけどプログラミング自体を大学から始めたので実質そこらの新卒とあんまり変わらないかな~というような感じです。

 

今はGitHubでチーム開発をしていてプロのエンジニアの方に指導をいただきながら働いております。

 

このリーダブルコードを読んで、まず初めに飛び込んでくるのが

 

面白いと、読みやすいは、違うんだよ?

 

という文言です。

 

開発をしていくうえで大切なことは、とにかく読みやすいコードを書くということ。

 

開発はひとりでもできるんだよ!俺はやれるから関係ないよ!という人もいらっしゃるかもしれません。優秀な方だとそうなのかもしれません。

 

しかし、半年たった時に自分が読んだときにパッと見て何をどのような目的でやっているのかがすぐに理解できないというようなコードであれば当然相手に伝わるはずなんかありませんよね。

 

 

 

僕は会社に入ってから3か月くらいで、ちょくちょくコードに関連して指摘を受けることがあります。

 

インデントがずれているとか、書き方に統一感がないとか、そういった基本的なことからこのクラスは何をやっているのか?とかこの変数はどういう意図なのか?とか入っているコメントが長いとかそういったことです。

 

基本的な部分は大学の授業で指摘されていたりしてまだ自分自身で直しきれていない部分が多いためすぐに納得して修正していきました。

 

しかし、動けばいいしコメントが長いほうが詳細でわかりやすいと思って僕は書いていたので初めはあんまりよくわかっていない感じでした。

 

もちろん現場のエンジニアの方が丁寧に説明していただいたので意味はわかってすぐに修正したものの実感はすぐには湧いてこなかったです。

 

なぜか、というと大学の授業ではコメントを長く書くことまずは動かせるようになることひとつの変数の名前もとりあえずどういう意図なのかわかる単語に書き落としておけば周りが勝手に読んで納得してくれるから特に気にしていなかったです。

 

しかし、この本を読んでみて思うことはやはり読みやすいコードを書くというのは誰が見ても簡単に理解でき他の人にいちいち説明しなくても伝わるように書くのが当たり前のことなんだなと今までの経験を通じて納得できました。

 

この本に書かれていることは、エンジニアとして生きていくのであれば当然のことが書かれてあるし、僕も実際に読んでみていろいろ指導していただいたことを振り返って全部エンジニアの方が仰っていたことと変わらなかったと思います。

 

それはつまり、エンジニアとしての常識、当たり前のことなのだと

適切な時に適切なコメントを入れる

変数やクラス名は短いコメントである

変数やクラス名にわかりやすい適切な名前を付ける

ネストを浅くする

一時的な変数は極力書かない etc...

上は引用というよりかは、簡単に自分の心に響いた部分を部分的にピックアップしてきたものです。

今指導していただいているエンジニアの方にいわれてハッと思った部分でもあります。

 

我流でやっていると変な癖がついてしまっていたり、自分がわかればそれでいいかなとおもっていてやっていたのでやはりきれいなコードではないんですよね。

 

本当に今の会社に入る前にこれを読んでおけばよかったなと思っています。

 

僕は大学3年生でこれから本格的に就活の時期になるのですが、新卒でエンジニアとして働いていこうと思っている人は暇な時間を見つけてぜひ見ておくべきだと思います。