ITエンジニアにも必要な国語力 - 第1回 名前にとことんこだわるべし
『ITエンジニアの仕事では、その種の概念を細かく整理し、名前を付ける機会が非常に多い。しかし私の見るところ、この名付けがいまいちいいかげんに行われているように思える。適当に思いついた名前を使うのではなく、どんな場合でも候補を10個ぐらい考えて、その中から執念深く「この名前でなければならない」という理由を考えて選ぶようにするといい』
よくぞ言ってくれました :)
適当に名前つけてる設計書やコードを目にすると、「ん???なんでこれがこの名前なの???」ってな具合に「?」で頭の中が埋まってしまって、一気にやる気がなくなる。大体に於いて「名が体を表していない」状態で、機能や処理の文脈から外れたトンチンカンな名前付け。
そういう人の文章やコードって、名前以外の処理ロジックとかもだいたい支離滅裂で何を言いたいのか/何がしたいのかが分からない。機能の切り分けにも納得がいかない。使ってるデータ構造も配列だけとか。ありえない。。。Oh my buddha!!! (これ外人に使うとウケるw)
機械語しか理解できないコンピュータ上でプログラミングするのにわざわざ何のために名前をつけるかといえば、それはそのプログラムを「人間が理解」しやすくするため。特に仕事で開発する場合はチームを組んで開発する場合が多いから、自分のコードが他人の目に触れる前提で臨まなければいけない。
なのに名前を10秒程度で適当につくられてしまったら読む方としたらたまったもんじゃない。国語辞典や英和・和英辞典を傍らに用意して、しっかり考えてもらいたいものだ。
オブジェクト指向言語だと更に読みやすく工夫できたりするよね。色んな定数を定義するのにConstantってクラス1箇所にまとめるんじゃなくて、例えばNetworkErrorってクラスにネットワークエラー関連の定数を集めれば、コードの見た目上もNetworkError.Timeoutってな感じで左から順にカテゴリが狭められていて読みやすい。今どきこんな考えは当たり前の筈なんだけど、実際はConstant流儀の人もよく見かけたりする。
ITエンジニアにも必要な国語力 - 第2回 「これ・それ・あれ」に気を付けろ
ITエンジニアにも必要な国語力 - 第3回 必要なのは「言葉のダイエット」