ちゃんなるぶろぐ

社会人1年生が、日々の学びをアウトプット〜読書・遊び・プログラミング〜

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

読み終えるまで約5分

 

 

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

今日も”デキる”プログラマになるべく勉強していきましょう!

 

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

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

 

下の記事の続編です↓↓

chan-naru.hatenablog.com

 

 

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

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

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

  1. いいプログラマになるには(No. 91)
  2. 顧客の言葉はそのまま受け取らない(No. 92)
  3. エラーを無視するな(No. 93)
①いいプログラマになるには

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

「いいプログラマになるには、『取り組む姿勢』が大事。」

ということです。

 

以下、要約です。

いいプログラマいいコードを書きます。

「今週はたまたま調子いいからいいコードが書けた!」なんてことはありません。

コードを良くするために努力する必要があるのです。

 

いいプログラマとそうでないプログラマ、両者の最大の違いは『取り組む姿勢』です。

いいプログラマは、リソースに制約のある中、早く作業を終わらせろと会社が圧力をかけてくる中、それでもできる限りいいコードを書こうと努力するのです。

 

真に優れたコードは、知識も経験もあるプログラマが最大限心を配って書いた時に生まれるものです。

(182ページ)

次のことを心がけましょう。

  • 「とりあえず動きそう」というコードは決して書かず、誰が見ても正しいコード、そして正しさを保証するテストを書く
  • わかりやすく、保守しやすく、正しいコードを書く
  • 常に他のプログラマの存在を意識し、他人が読みやすいようなコードを書き、チーム全体として成果を出せるよう尽力する
  • 自分が触れたコードは、必ず最初に見た時よりも少しでもいいコードにする
  • 絶えず自己研鑽して新たな言語、イディオム、テクニックを学ぶ。しかし、それをひけらかすのではなく、本当に必要と判断した時にのみ使う
②顧客の言葉はそのまま受け取らない

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

「顧客の言葉をそのまま受け取らず、「これでもか」と言うくらい確認しよう。」

ということです。

 

以下、要約です。

「顧客はいつも本当のことを言うとは限らない。」

顧客と私たちプログラマとでは話し方が異なり、顧客には顧客独自のコンテキストがあります。

私たちから見れば重要なことを、顧客は言ってこないことがあるのです。

また、顧客の中には、そもそも自分がなにを欲しているかわからない人が多いです。

 

では、そんな顧客にどうやってソフトウェアを提供すればいいでしょうか?

答えば単純で、顧客との関わりを密にすることです。

  • 顧客には早い段階から、頻繁に質問を投げかけ、説明を求めるようにする
  • 一つ一つ相手の言った言葉を自分の言葉に言い直す
  • 可能な限り、同じことを複数の人と話してみる
③エラーを無視するな

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

「エラーをそのままにしてはならず、見つけたらすぐに解決、またコードを書く際は必ずエラー処理をするべき!」

ということです。

 

以下、要約です。

エラーが起きているのに、大したことはないと思い込もうとする。

”今は”問題ない、大丈夫だと自分に言い聞かせて無視する。

あなたも経験ありませんか?

そんなことをしてもなにもいいことはないのです。

 

どんなに問題の起きにくいコードでも、エラーチェックやエラーハンドリングは重要です。

コードからエラーを通知する方法は多く、そのいくつかを次に示します。

  • 戻り値を使う:その値が自分の意図通りになっているかをチェックする
  • errnoを使う:errnoはエラー通知の役割だけを担うグローバル変数で、C言語の中でも特異な存在である
  • 例外を使う:あらゆる言語で例外処理の記述ができるが、それを正しく機能させる。例えば下記のようなコードは書いてはいけない。

try {

    //  何らかの処理

}

catch (...) {} // 例外は無視する

 

エラーを放置すると、次のようなことが起きます。

  • 不安定なコードになる:修正しにくく、大きなバグにつながりやすいコード
  • セキュリティに問題を抱える:クラッカーはエラー処理の不備を突いてくる
  • 貧弱な構造とインタフェース:利用側のエラーハンドリングが煩雑で面倒なコードになった場合は、インタフェースが良くない可能性がある

自分の書いたコードから発生し得るエラーを丹念にチェックするだけでなく、発生し得るエラーとその条件をインタフェースに明示しましょう。

まとめ

①毎回必ず「いいコード書く」と思い、手を抜かずにできる限りにことを徹底しよう!

②顧客の言葉をそもまま受け取ることはせず、何度も何度も共通認識をしっかり持てているかを確認をしよう!

③エラー処理を書くことを基本にし、そしてより良い処理をかけるように尽力しましょう!

 

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

書籍情報

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

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

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

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

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

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

【出版社】オーム社

【出版日】2010年12月

【ページ数】243ページ