【ちゃんなるぶろぐ】社会人1年生が日々の学びをアウトプット!

>>> 読書・遊び・プログラミング・アプリ開発などを通して学んだことを、文章という形で出力 <<<

3分でわかる!「プログラマが知るべき97のこと」その③

読み終えるまで約3分

 

 

どうも、ちゃんなるです! 

今日も"できる"プログラマーになるべく、思考を磨きます!

 

今回は、次の書籍の一部を要約します。

プログラマが知るべき97のこと』

 

下の記事の続編です↓↓

 

chan-naru.hatenablog.com

 

 

 

今回選択した3つのテーマ

本書はタイトル通り97のことについて書かれています。

今回は、7~9番目の項目についてまとめます。

  1. 共有は慎重に(No. 7)
  2. ボーイスカウト・ルール(No. 8)
  3. 他人よりまず自分を疑う(No. 9)

 

①共有は慎重に

このテーマで述べられていたことは、

「コードを複数箇所で共有(ライブラリ化、関数の切り出し)するのは慎重に行おう。事前のコンテキスト確認を大切に。」

ということです。

 

以下、要約です。

 

コードの『再利用』が正義と教わったことはありませんか?

再利用とは、『あるコードを関数として切り出し、その関数を複数箇所で使うこと』です。

同じコードを書かなくて済むので、コードがスッキリし、行数も少なるといったメリットがあります!

 

しかし、コンテキストが不適切だと、メリットよりもコストが増えます。

(コンテキスト:あるコードが、そう書かれている理由)

 

コードを再利用することは、コードの依存関係を作るということです。

ライブラリ(再利用するコード群)のコードを1行変更するだけで、影響が複数箇所に及びます。

互いに独立していた時なら該当部分の保守コストは小さかったのに、ライブラリ化してから、変更のたびに手間をかける必要が生じてしまう。

そんなこともあります。

 

コードの再利用は重要だが、それは同時に依存関係を増やすので、慎重に行いましょう!

 

 

ボーイスカウト・ルール

このテーマで述べられていたことは、

「コーディングのたびに既存のコードの一部をキレイにしよう。」

ということです。

 

以下、要約です。

 

ボーイスカウトには、「来たときよりも美しく」という大切なルールがあります。

自分が来たときキャンプ場が汚くなっていて、たとえ汚したのが自分でなくても、キレイにしてからその場を去る、というルールです。

 

コーディングでも同じことが言えます。

最初にそのコードを書いたのが誰であれ、手を付ける者がその都度キレイにするのです。

これによって、今よりコードの品質が低下することが避けられ、また時間が経過するごとに品質が向上するかもしれません。

 

既存のコードに触れる場合は、どこか1箇所でいいので改善しましょう。

本書には、以下のような改善方針の例がありました。

  • 変数名をより適切なものに変える
  • 大きい関数を2つの小さくよりシンプルな関数に分割する
  • 循環参照を解消する
  • インターフェースを追加してポリシーと実装を切り離す

 

何事も、「来たときよりも美しく」ですね!

 

 

③他人よりまず自分を疑う

このテーマで述べられていたことは、

「プログラムのエラーは、そのほとんどが自分が生み出したものである。」

ということです。

 

以下、要約です。

 

私たちプログラマは、自分の書いたコードが間違ってる、とは考えようとしない人間です。

他の人のコードや、ライブラリや、OS、コンパイラのせいにしがちです。

 

ですが、覚えておきましょう。

コンパイラやOS、多くの人に使われているライブラリやツールの品質は上がっており、それらに問題があることは"ほとんどない"のです。

 

エラーが出たりバグが見つかった場合は、まず自分を疑いましょう!

そしてデバッグしましょう!

 

最後に、本書に書かれていたデバッグ例を引用し、以下に示します。

問題箇所を切り分け、呼び出し先をスタブに置き換え、テストを書いてみる、といったことをまず行います。

呼び出しの作法、共有ライブラリ、バージョン番号のチェックも忘れずに行いましょう。

作業内容をチームの他のメンバーに説明してみましょう。

スタック破損や変数の方の不一致を見張りましょう。

マシンやビルド設定を変えて、例えばデバッグ用、リリース用両方の環境で実行してみましょう。

(本書18-19ページより)

 

まとめ

『コードの再利用=依存関係の作成』なので、慎重に行おう!

(ちゃんなる的意見ですが)実装前に事前に周りに「ライブラリ化していいですか?」と確認してもいいと思いました。

②何事にも『来たときよりも美しく』

既存のコードに触れる際は、1箇所でもキレイにしましょう!

③実装がうまくいかない場合は、必ず自分のコードから疑うようにしましょう!

 

*より深く知りたい方は、ぜひ本書を手にとってみてください!

書籍情報

プログラマが知るべき97のこと [ ケブリン・ヘニー ]

価格:2,090円
(2021/5/13 11:12時点)
感想(1件)

【中古】 プログラマが知るべき97のこと /ケブリンヘニー【編】,和田卓人【監修】,夏目大【訳】 【中古】afb

価格:825円
(2021/5/13 11:12時点)
感想(0件)

【書籍名】プログラマが知るべき97のこと

【著者名】ケブリン・へニー、夏目大(訳)

【出版社】オーム社

【出版日】2010年12月

【ページ数】243ページ