言語の歴史は人類の歴史。そして人類はコンピュータを言語で動かすようになった。

コードの読みやすさの限界

»

IT業界でコーディングは避けて通れないものだと最近思っています。インフラをやっていても、スクリプトを使用しないと効率のよい情報収集や確実な証跡の取得が難しいです。ネットワークをやるにしても、設定ファイルの整理は実質コーディングのようなものです。仕組みが複雑になってくると、GUIよりもコードで書いたほうが逆にやりやすくなるようです。GUIとCUIのどちらが優れているかというより、それぞれに合った状況があるというのが正解かもしれません。

スクリプトを記述していると、人が読んでも分かるように書こうとよく言われます。ただ注意してほしいのは、スクリプトを読み書きする技術がない人が読んで分かるように書くことはできません。また、スクリプトで何をやるのか、フローを理解できていない人も同様です。どんなに分かりやすく書いたとしても、条件を満たしていない人が読んで理解することはできません。

「だったら、対象者を明確に定義すればいいじゃないか」という人もいます。しかし、これをやったとしても、条件を判断するのは人です。例えば、Rubyを入門レベルしか書けないのに、上級者と同じレベルでRubyを書くことができると勘違いしている人もいます。そこまで酷くなくても、例えばやっていたバージョンが違っていたり、用途が違っていたりすることもあります。定義を明確にしても、どういう人が読めば理解できるかを担保することはできません。

コーディング規約を厳しくしても同様のことが言えます。どんなに整理したとして、仕組み自体が理解できなければ、どんなにコードを理解できません。また、コードをどのように書いたとしても、システム自体のもつ複雑さは何解消できません。仕組みを伝えるには、コーディング規約ではなく、別途ドキュメントを書く方が有効です。コードの整理や読みやすくする工夫は大事ですが、限界があることは認識すべきではないでしょうか。

これは言語の新機能やツールについても同様のことが言えます。新機能で新しい記述方法ができるようになっても、分かりやすくなるかどうかは、書く人と読む人の認識が一致するかどうかで決まります。あたらしいツールにしても、使用される条件が変化するだけで、やろうとすることが複雑なら、何をどう使おうと複雑さに変わりはありません。コードの整理や読みやすくする工夫は素晴らしいです。ただ、万人向けを目指すべきではないと思います。

Comment(0)

コメント

コメントを投稿する