何度か読1んだり読まなかったりしている名著なのですが、読んだことを反芻しながらアウトプットしてみようかな、と思って今回記事にしてみました。
基本1章1記事で気が向いたときに書いていきたいと思います。章の順番も気が向いた順番で進めていくつもりです。
各章の中でも、気になった部分を抜き出して所見を書いているので、項番には抜けがあるかもしれません。
明確な単語を選ぶ
このへんは、名前の長さやフォーマットを決めた上で、抽象的でなく、具体的な名前をつけましょう、ってことですね。
キャメルケース、ケバブケースなんかは統一しつつ、英単語でもより適切なものを使いたいところです。
「GetPage()」だけだとどこから?どうやって?みたいな情報が少ないので、例えばインターネットからとってくるなら「DownloadPage()」とのことです。
これ、ローカルキャッシュからもってきたり、DBからもってくる場合、自分はFromLocalCacheとかFromDBとかやってしまいそうなんですが、単語一語で表せたら便利そう。
すぐには適切な単語が思いつかないんですが、cacheからだと、retrieve(取り出す)とかが使えそうですかね。
DBだとSQLからselect、とかかな・・・この辺適切とは言い難い気がする・・・。
英単語力が問われますね〜。でも、そこそこコード書いてると、ある程度は慣れる気がします。
抽象的な名前より具体的な名前を使う
–run_locallyというコマンドオプションがあります。このオプションには以下の役割・特徴があります。
- デバッグ情報の出力
- 動作が遅くなる
リモートサーバで使う時はパフォーマンスが重要だから、このオプションは使っていなかったようです。だから、locally。
言葉の使い方が本質的じゃない感じがしますね。ということで、
–extra_loggingを使った方が直接的で明確、とのことでした。
名前に情報を追加する
単位(elapsed_ms)をつけたり、重要なところで意味のある名前をつけましょう、ということ。
ただのurlじゃなくて、parsedUrlにする、とかですかね。
名前の長さを決める
自分は変数の名前をつける時、わかいりやすくなが〜い名前にしがちなのですが、「適切な」長さが大事みたいですね。
- スコープが小さければ短くてよし(3行程度で、すぐわかるようなら1文字でもよさそう)
- 長い名前自体はIDEの補完機能で問題なさそう
- 省略するなら、常識ある名前ならOK(string→strなら○。BackEndをBEはダメ。)
- わかりきってる単語は削除する(convertToIntはToIntでもよさそう。)
名前のフォーマットで情報を伝える
この辺は規約に従っていれば問題なさそうですが、定数は大文字にする、とかですね〜
まとめ
要約って感じになってしまいましたが、何度読み返してもできてるかな〜、と思うことがちょこちょこあります。
コード書くときに活かせるように、何度も読んで頭に刷り込んでおきたいところ。それでは!
コメント