神は細部に宿る

Posted on :| コメント (0) | トラックバック (0)

昔から有名な言葉です。もともとは「ミース・ファン・デル・ローエ(1886~1966年)」という建築家の言葉です。要約すると「細部の作り込みにも手を抜くな。しかし、細部は全体に統括されなければならない」という事らしいです。
吉田は建築家ではなく、プログラマです。プログラマの観点からこの言葉の意味を解釈してみたいと思います。

■プログラミングの世界における細部とは?

プログラムの世界は、ソフトウェアが最終成果物となります。最終成果物の細部とは、多岐に渡りますが、吉田が思うに、ソースコードの美しさ、可読性こそが細部の代表例ではないかと考えます。

なぜソースコードが細部なのか? ユーザーからすれば、ソフトの機能や画面、出力を通じてしかソフトと接点がありません。ソースコードはプログラマだけが見る裏の世界であり、ここは手を抜こうと思えば思いっきり手を抜けるのです。

  • サンプルコードをそのまま実装
  • エラー処理もしない
  • コピペの荒らし
  • 冗長的で読みづらいコード
  • 名前に統一感がない
  • とにかくダラダラと長い
  • モジュール化、クラス化されてない
  • 適切なコメントがない

などなど。いろいろとありますが、この中でも一番大事なのは、可読性を高めることだと思っています。ソフトウェアは、要件に対して最適なアウトプット、機能を提供するのを最大の目的としています。そのためにエラー処理はもちろん必要ですが、きれいに書かれたコードはそれだけ誤りを見つけやすいといえます

■なぜ、ソースをきれいにする必要があるのか?

単なるこだわりだけでなく、重要な意味があります。

(1) 再利用性の向上

きれいに書かれたコード、よく考えられて設計されたクラスは、そのソフトウェアだけでなく、別のソフトウェアにも利用できるようになります。コードがきたないと、はじめから書き直した方が早いと感じてしまいます。

(2) 間違えに気づきやすい

構造が把握しやすいきれいなコードは、設計上やコーディング上のミスに気づきやすくなります。

(3) メンテナンスしやすい

ソースコードがきれいなら、後日のメンテナンスも容易になります。また、過剰なドキュメントを用意しなくても、コード上の適度なコメントで内容が理解できます。

■細部は全体に統括されなければならない

細部にばかりこだわって、全体の工程が遅れたり、全体像を意識せずに作業するのはナンセンスです。あくまでも、細部は全体の一部にすぎません。

しかし、本記事における細部は、ソースコードの可読性です。ソフトウェアはメンテナンスがされなくなった時点で、死を迎えると言われています。ソフトウェアは動作環境が存在する限り、何十年でも稼働します。ということは、作って終わりではなく、その後のバージョンアップや再利用の可能性を示唆します。

ゆえに、その時点で出来うる限りの可読性を確保するのが、遠回りのようでいて近道なのかもしれません。やっつけ仕事でコードを書くと、後日のメンテナンスにツケを回すことになります。

トラックバック

このエントリーのトラックバックURL:

コメント

コメントフォームに記入し投稿してください





Search
最近の記事
カテゴリー
過去の記事
Comments
TrackBacks
Feed
Powered by