iphoneのアラームの音のせいで寝起きが悪い気がしてるカリタです。
自衛隊の方たちはラッパの音で反射的に起きて布団をたたんで点呼を取るらしいですが、そこまでではないにしろ冗かなり心臓によろしくない音な気がしてます。
さて、タイトルのリーダブルコードですがこれを読めば可読性の高いコードが書けるようになるかも!?という本です。

プログラミングを始めた当初から存在は知ってたのですが活字しんどい。という思いから敬遠していました。
最近特に理由もないですがさすがに読むかと重い腰を上げて 第一章と二章だけ読みました。(二日前くらいに買ったので読めてないだけです。サボってないです。)
リーダブルなコードってどんなだとおもいますか?
コメントがたくさん書いてあるコード?
クリーンアーキテクチャを意識したコード?
この本はもっと根本的なものを解決してくれるものとなっています。
第一章は読みやすいコード、第二章は変数や関数の命名や複雑な式の分割についてでした。
例えば以下のようなコードがあったとしてどちらがわかりやすいでしょうか。
//例1
let data = getUserInfo();
data.foreach { datum in
print(datum.username)
}
//例2
let userInfos = fetchUserInfo();
userInfos.foreach { user in
print(user.username)
}
まず例1を見てください。
変数dataとありますがそれだけでは何のデータが入っているかわかりません。
次にgetUserInfo()という関数があります。
ここを見ればユーザー情報を取ってきているということはわかります。
でも、どこからデータを取ってきているのでしょうか?
次に例2を見てください。
変数userInfosがあり、一目でユーザー情報が格納されている変数なんだなってのがわかります。
次にfetchUserInfo()というものがあります。
fetchは取出すや参照アクセスという意味があります。なのでここを見ればDBやAPIに接続してデータを取ってきているんだなということがわかります。
というようにリーダブルコードには変数や関数は単なる値を格納する箱や処理をまとめておくものではなく、第三者が読んだときにそれが何を表すかを示す短いコメントである必要があるというようなことが書いています。
また、個人開発なら自分しか見ないからという理由で適当な命名をしているそこのあなた!
三日前のコードは他人のコードという言葉があるので気を付けてください!
みたいなことも書いていました。
まあ、日本人の何割が英語の詳細な使い分けを知っているかどうかは別にして、仮に知っている人が見たときにすぐに理解できるように努力する義務はあるのかなと思いました。(するとは言ってない。)