コードを書くという事
取引先の担当者にメールを送る場合を考えてみてください。
いざ、メールを書こうと思うと、
- 正しい表現になっているか
- 意味が伝わる文面になっているか
- 失礼な言い回しはないか
など、多くの事を考え、ときにはネットで表現を調べるなどしてメールを書く方が多いのではないでしょうか?
また、その後、すぐに送信せず、一度しっかり見直した後に送信しませんでしょうか?
では、自分がプログラムを行う際を考えてみてください。
メールを書くときと同じような事を考えてますか?
おそらく、多くの方がそこまで考えていないのではないかと思います。
技術者・開発者と呼ばれる人間にとっての「コード」は、「メール」と同じく「コミュニケーションのためのツール」であると個人的には考えています。
上記のように考える理由としては、
- ある個人が書いたものを、第三者が解釈をして、自分の行動を決めるために利用する
- 書いた人間の意思が表現されている
- 場合によっては、書かれて時間を経て再度利用される場合がある
というような部分において、非常に似た性質を持っていると考えているためです。
にもかかわらず、自分以外の「第三者」の事を気にしてコードを書いている人が少ないのではないでしょうか。
多くのチームで、「コーディング規約」が策定され、規約に沿ったコーディングがされている理由も、上記のような問題を少しでも解決するために考えられた方法にすぎないのではないかと。
誰にとっての「綺麗」なのか
他人が書いたコードを見て、「綺麗だな」と思う事は私自身よくあります。
そのときは、もちろん「私にとって」綺麗という考え方になります。
では、チームで開発する事を考えた場合、「自分にとって」の綺麗さを追求する事が果たして正義なのでしょうか?
答えは「No」だと思います。
チームで働くメンバーの中で、たった一人、書いた本人だけが「綺麗」と思うコードは、どんな理由があれ、それは「汚い」とみなすべきではないでしょうか?
1行でかかれた一人だけが綺麗と思うコードよりも、3行で書かれたメンバー全員が綺麗と思うコードの方が、「チームの資産価値」という観点で考えた場合、高いと私は思っています。
さいごに
今一度、自分が書いたコードが他のメンバーに理解してもらえるのか?を考えてみてください。
もしこれがメールだったら?このような書き方をするか?という事を考えてみてください。
一人一人が、少しだけ、自分のコードを読む「第三者」の気持ちを想像しながらコーディングをすることができれば、それはチームにとって大きな財産になっていくと思っています。
最近、チーム開発系の書籍をいろいろ読んでいて、個人的に思うところがあったので書いてみました。