上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--/--|スポンサー広告||TOP↑
アマゾンに注文していたCODE COMPLETEが届いた。

Code Complete第2版〈上〉―完全なプログラミングを目指してCode Complete第2版〈上〉―完全なプログラミングを目指して
(2005/03)
スティーブ マコネル

商品詳細を見る
Code Complete第2版〈下〉―完全なプログラミングを目指してCode Complete第2版〈下〉―完全なプログラミングを目指して
(2005/03)
スティーブ マコネル

商品詳細を見る


上巻を流し読みしてるが、「こうしとけばいいのかな?」とかでやるとどうしても出てくる問題点に対して、具体的な方法による解決策を提示している。

とはいえ、CODE COMPLETEも完璧ではない。
CODE COMPLETE自体は間違いなく良書なのだが、重要な事項としてこれは原書が英語だという問題がある。
翻訳の質が低いといいたいのではなく、英語圏では問題のないことが、日本においては問題となる可能性がある。もっとも顕著に現れるのは変数やルーチン、クラス・抽象データ型の命名だ。

本書においては「変数名やルーチンは曖昧にならない、具体的な名前を付けろ。」としている。「うまく命名できないなら、設計ミスだ。」ともある。また、変数名やルーチン名についてコメントで誤魔化すなとされる。

しかし、日本語では厄介な問題が待ち構えている。

ローマ字による日本語記載か一部の言語で可能な漢字・かなによる命名が考えられるが、以下の問題がある。
まず、ローマ字の場合。
・英単語なのかローマ字なのか区別できないことがある。
・ライブラリやキーワードはどっちにしろ英語。
・同音異義語が多い。

漢字・かなの場合。
・漢字表記は変換が必要であるため面倒。
・上記に関連して多くのIDEでは補完機能が働かない。
・処理系の実装によっては処理できないかもしれない。
・「全角スペース」は「スペース文字」ではないため、コードに混ざると良く分からない文法エラーが多発する。

というわけで、英語記載にするのが普通だろうけど、高校での英語の成績が5(5段階評価)とかだった人ですら、英単語の意味を適切に付けられるものではない。多くの人が日本語で考えてからそれを翻訳するだろう。
だが、翻訳は常に正確ではない。日本語において存在したニュアンスが消えていたり、英単語化によって別の意味として捕らえるほうが自然になったりする。
辞書を引いて厳密に翻訳したところで、読む人も同様に辞書を引っ張りながら見なくてはならない。
そうなれば、コード自体がドキュメントの役割を果たすとは言いがたい。

そう考えると英語圏以外では母国語によるコメントを挿入して意味を補完するのは自然だと思うし、名前自体は多少曖昧でもかまわない気がする。見当はずれだったり無意味な名前を使うのも問題だけど。
スポンサーサイト
09/13|プログラムコメント(0)トラックバック(0)TOP↑
この記事にコメント
名前:
コメントタイトル:
メールアドレス:
URL:
コメント:

パスワード:
管理人だけに表示:
管理者にだけ表示を許可
この記事にトラックバック
プロフィール

G.U.Nex

Author:G.U.Nex
職業:プログラマ
趣味:ゲーム(PC、コンシューマ)、ネットサーフィン、ニコニコ動画視聴、プログラミング、鉄道全般
PHP, C, C++, VB(系), Java, JavaScriptを使える。
最近はRubyにはまってる。

最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
ブロとも申請フォーム
ブログ内検索
RSSフィード
リンク
フリーエリア
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。