2005年04月29日(金)

あなたにもできること

テーマ:コーディング
私はいつも「読みやすいコードを書け」と言っている。そのためにできることは、決して難しいことばかりではない。

例えば、次のようなソースコードをみると、いつも思うのだ。

private static final String DATA[][][] = {
  {"ringo","gorira","rajio","ondanka","kaimenjoushou"},
  {"5","5","4","7","12"},
  {"K100","J1","U200","X203","W9800"}
};

どうして、こんな風に揃えて書かないのだろうか?

private static final String DATA[][][] = {
  {"ringo", "gorira", "rajio", "ondanka", "kaimenjoushou"},
  {"5"    , "5"     , "4"    , "7"      , "12"           },
  {"K100" , "J1"    , "U200" , "X203"   , "W9800"        }
};

特に、難しいことではないはずだ。

桁を揃えるためにいくつもスペースを打つことは面倒かもしれない(※1)。しかし、自分でコードを読み返してチェックする習慣がある人なら、こうしないと後でもっと面倒なことになるということを知っているだろう(※2)。

もちろん、読みやすさ、読みにくさを決めるのは、こうした桁位置の問題だけではない。しかし、ここでこれ以上の例を挙げる必要もないだろう。

大切なのは、読む人の立場になって考えるということだ。それは、設計書や報告書のような「日本語」を書くときでも同じことだろう。





※1
「タブ」は使わないほうがよい(→「インデントについて考える」 前編後編

※2
チェックしなくてもバグなんか出さないという自信がある人は、そんな自信はただちに捨てなさい。



■関連記事
インデントについて考える 前編
インデントについて考える 後編
まずは丁寧なプログラミングを



プログラミング作法
プログラミング作法
posted with amazlet on 06.04.30
ブライアン カーニハン ロブ パイク Brian Kernighan Rob Pike 福崎 俊博
アスキー (2000/11)
売り上げランキング: 4,300
おすすめ度の平均: 4.75
4 プログラマ以外の人にも
4 くせは治りません・・・
5 洗練されたソースコードに星5つ


Code Reading―オープンソースから学ぶソフトウェア開発技法
トップスタジオ まつもと ゆきひろ 平林 俊一 鵜飼 文敏
毎日コミュニケーションズ (2004/06/01)
売り上げランキング: 30,286
おすすめ度の平均: 4
4 ホップ・ステップ・ジャンプ
3 例題がわかりにくい
4 サブタイトルの方が適切?

AD
いいね!した人  |  コメント(6)  |  リブログ(0)

argvさんの読者になろう

ブログの更新情報が受け取れて、アクセスが簡単になります

コメント

[コメントをする]

6 ■RE:確かに

コニカさん、こんにちは。

こちらから辿っていただいたのでしょうか?
http://ameblo.jp/argv/entry-10169317824.html

でなければ、どうぞ。

5 ■確かに

確かに見易いのが一番。
分かってはいるが、
どうもそのクセが・・・。
・・・と自分に言い訳してみるテスト。

4 ■RE: 美しくなければ間違っている

がうさんこんにちは。

同じ機能を作るにしても、無限の書き方がありますからね。プログラミングするということは、その中で最善の方法を選ぶ、ということかもしれません。

3 ■RE: 構造を

m さんこんにちは。

おっしゃるとおり、本来なら、構造(設計、デザイン)を綺麗にすべきですね。ただ、それにはある程度のスキル(センス?)が必要です。

技術的なスキルがなくても、せめて「体裁」だけでも読みやすくして欲しいと思って書きました。

2 ■美しくなければ間違っている

学生にプログラムを教える一番はじめに言っている事です
「動けばいい!」・・・ふざけんなです

1 ■構造を

いつも楽しく拝見してます。
構造を

{"ringo", "5", "K100"},
{"gorira", "5", "J1"},
...

にしてみるのはどうでしょうか。
といっても実際は大変だと思います...

ソースをきれいに書くのは大賛成ですが、
空白で揃えるやり方は私は好きではないです。
私はソースを見るときは emacs を使うの
ですが、スペースで揃えるよりも、もっと
他にやるべきことがいっぱいあるんじゃないの?
とソースを書いた人に言いたいです。
とはいえ、言いたい人はずっと昔にプロジェクトを
離れているので、もう言えないのですけどね。

コメント投稿

AD

ブログをはじめる

たくさんの芸能人・有名人が
書いているAmebaブログを
無料で簡単にはじめることができます。

公式トップブロガーへ応募

多くの方にご紹介したいブログを
執筆する方を「公式トップブロガー」
として認定しております。

芸能人・有名人ブログを開設

Amebaブログでは、芸能人・有名人ブログを
ご希望される著名人の方/事務所様を
随時募集しております。