Out of Memory

本ブログは更新を停止しました。Aerieをよろしくお願いいたします。

目次

Blog 利用状況

ニュース

2009年3月31日
更新を停止しました。引き続きAerieを御愛顧くださいませ。
2009年2月3日
原則としてコメント受付を停止しました。コメントはAerieまでお願いいたします。
詳細は2月3日のエントリをご覧ください。
2008年7月1日
Microsoft MVP for Developer Tools - Visual C++ を再受賞しました。
2008年2月某日
MVPアワードがVisual C++に変更になりました。
2007年10月23日
blogタイトルを変更しました。
2007年7月1日
Microsoft MVP for Windows - SDKを受賞しました!
2007年6月20日
スキル「ニュース欄ハック」を覚えた!
2006年12月14日
記念すべき初エントリ
2006年12月3日
わんくま同盟に加盟しました。

カレンダー

中の人

αετο? / aetos / あえとす

シャノン? 誰それ。

顔写真

埼玉を馬鹿にする奴は俺が許さん。

基本的に知ったかぶり。興味を持った技術に手を出して、ちょっと齧りはするものの、それを応用して何か形にするまでは及ばずに飽きて放り出す人。

書庫

日記カテゴリ

プログラムに文字列を埋め込むな

プログラムを設計する際の基準のひとつに、「変更可能性」がある。
頻繁に変更される可能性がある部分と、あまり無い部分は分けて作れ、ということだ。
そして、プログラムの「見た目」というのは、最も変更頻度の高い部類に入る。
一般的に言って文字列というのはロジックじゃない(SQL文なんかはロジックだが)から、広義には「見た目」のうちに含まれる。
ということは、画面レイアウトと同じくらいの変更頻度はあると思っておくべきだ。

余談だが、ここは数値のマジックナンバーと大きく違うところだ。
マジックナンバーも埋め込んではならないとよく言われるが、盲目的に切り出すのは正しくない。
数値はロジックの一部を構成し得る。その数値が変わるとロジックが成立しないような、変更可能性が極めて低い(数値が変わる時はロジックごと変わる)ものや、名前を与える必要が無いほどに意味が自明なものもある。
そうしたものはむやみに切り出すとかえってわかりにくくなる。

投稿日時 : 2008年4月4日 11:44

Feedback

# re: プログラムに文字列を埋め込むな 2008/04/04 12:32 Moo

消費税率が埋め込まれたソースを見たときは

がつんとやってやりたいとおもいました。

# re: プログラムに文字列を埋め込むな 2008/04/04 12:36 シャノン

やっちゃってください。

消費税率は単に改変されるのみならず、改変前の会計を改変後にごにょごにょすることがあるから大変です。
このへんはOgnacさんが語ってくれそうな気がします。

# re: プログラムに文字列を埋め込むな 2008/04/04 12:58 れい

> プログラムに文字列を埋め込むな

そういったらコメントを全部別ファイルに書き出した人がいました。
なんかもうどうしたらいいのか…

# re: プログラムに文字列を埋め込むな 2008/04/04 13:03 JZ5

投稿数444 2008年4月4日 11:44 図ったな!

# re: プログラムに文字列を埋め込むな 2008/04/04 13:42 シャノン

> 投稿数444 2008年4月4日 11:44 図ったな!

4:44にしとくんだったぁーーー!!!orz

# re: プログラムに文字列を埋め込むな 2008/04/04 21:50 出水

エラーメッセージとか切り出すには全エラー表を作らないといけないから
ついつい面倒で生で入れちゃう事が多いです

"%sのエラーが出ました"ってのはどうするべきなんだろう
そのまま%sで外部に切り出すべきなんですかね?

# re: プログラムに文字列を埋め込むな 2008/04/05 11:39 CH3COOH(酢酸)

日本語と英語の対応をしないといけないので、
文字列はプログラム外で持ってます(・ω・)v

>出水さん
僕の場合は、
「神出鬼没のエラーが出ました」
「意味不明のエラーが出ました」
と表示するシーンがあるとすれば、

"%sのエラーが出ました"、"神出鬼没"、"意味不明"
というな感じで、文字列を分けるようにしています。

タイトル
名前
Url
コメント