エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

2007-08-01から1ヶ月間の記事一覧

スペシャリストのいないプログラム

BLOB(肥満児)クラス増殖中!という、アンチパターンの典型にはまっているということなんですが。責務の分割がうまくできていない。今日気がついたんですが、最初からBLOBクラスを作ろうとしているわけではないんですよね。機能ややることが増えるたびに、さて…

壁ができた

職場に壁ができました。発注-請け負いという関係で仕事をしてきた協力会社の方々との間に。最近よく耳にするようになった法令遵守の流れから、会社間の関係を明確にするために、物理的に分離することにしました。 複雑な気分です。以前にも書いたように、わ…

既存の構造体に代入する仕組みを作る

C++

よく似てはいるものの、異なる構造体/クラスの間で値をやり取りすることを考えるので、正しくは「代入」ではないんですが、ここでは「代入」ということばを使うことにします。たとえば、どこかでこういった構造体が定義されていたとします。 #include <cstdlib> stati</cstdlib>…

コードがかわいそう

「コードがかわいそう」とか思ってしまったわたし、どんだけコード好き(…というかフェチか…?)なんだか。 とはいえ「かわいそう」とまでは行かずとも、もうちょっとどうにかならないだろうか、と思ったことは少なくなく。そんだけコードに変化がないというわ…

小さなことから黙々と

ついでにアンチパターン候補をもうひとつ。 小さなことを黙々と一人で開発。やがて、大きなことも黙々と一人で開発。 …。 もっとまめにレビューしなさいって。もっと頻繁に他者の目にさらされないと。実は、これは日頃頭を抱えていることのひとつでして。レ…

想像で設計する

今回も、半ばグチです。 ソフトウェアの開発をやっていて、意外と目につくのがこれ。想像で設計する。インタフェースする相手はこうするだろう、エラーのときはこう動くだろう、割り込みはこの順序で発生するだろう、などなど。 以前のエントリで「想像力、…

Prelude探訪

scanlを使ったフィボナッチ数列 fib = scanl (+) 1 (0:fib) allを使った最大値を求める関数 以前の例。 max_value ns = head [x | x <- ns, and $ map (\ n -> x >= n) ns] all関数を使って。 max_value ns = head [x | x <- ns, all (\ n -> x >= n) ns] 日…

「正直ベース」

ときどき「『正直ベース』で見積もると何日かかる?」といった会話を聞くことがあります。「立て前でなくて本当のところは…」という意味だと思うのですが、すごくヘンなことばです。そもそも正直な話をしていれば出てこないことばですし、正直に話をしていな…

自己紹介というイベント

夏風邪と夏バテと生来の体力不足でかなりやられている今日この頃。すでに先週の話になりますがPFPのワークショップに参加してきました。テーマは自己紹介。道具は偏愛マップ。まともな自己紹介など久しくしていなかっただけに、紹介するものがまるで出てこな…