2005-01-01から1年間の記事一覧

Design by contract by example

Design by contract, by exampleの6つの原則。Principle 1: Separate queries from commands. Principle 2: Separate basic queries from derived queries. Principle 3: For each derived query, write a postcondition that specifies what result will be…

Linusのコメント

Linux kernel mailing listのこのやりとりhttp://www.ussg.iu.edu/hypermail/linux/kernel/0507.1/1815.htmlやべぇ。Linusかっこいいよ。実際はすごく当たり前のことを言ってるんだけど、 こういう風に率直に言いつつある程度丁寧な表現が 使えるってのは英…

firefoxの不調

最近firefoxがおかしいと思っていたら、 UserAgentSwitcher extensionの仕業だったみたい。OSはwindows XPでfirefox1.0.3(english) + User Agent Switcher0.6.5の組み合わせ 起動しなかったり 起動しても空白のままでメニューが動作しなかったり ポップアッ…

Cem Kaner教授のページ

前のプロジェクトでまわし読みしてた「知識ゼロから学ぶ ソフトウェアテスト」。 著者のblogがすごくおもしろいのだけど、そこからたどったCem Kaner教授のページがいい。正直な感想として、すごいよ! マジすごいっすよ。High Volume Test Automationってス…

cc2eで感じた違和感?

cc2e(code complete 2nd edition)で感じたもうひとつの違和感 擬似コードプログラミング。初版にも書いてあったけど、擬似コードプログラミングとは、コメント書いてからコードを入れていく、という手法のこと。でもコメントで処理を説明できるんだったら、…

cc2eで感じた違和感①

cc2eを読んでいて、正直なところほっとする。 自分がコードを書くときの姿勢とかが間違っていないんだなという感じ。でもやっぱりいくつか違和感もある。 一番大きかったのはエラー処理の書き方と擬似コードプログラミング。エラー処理については、だいたい…

ソフトウェアメンテナンスのアンチパターン

名前: 追加機能パスの離陸概要: 追加機能を機能の新規開発とみなし、既存コードとは独立した大量の新規コードを書くことで対応する。結果として、重複コード、文脈依存のコードなどができる。エピソード: 「よし、ここからパスを分けて..」 「このパスを…

cygwinでglib

ちょっとビミョーだがcygwinでglibを試す。 glibの情報 developerWorks1 developerWorks2 API reference API reference日本語try & errorでいくつかパッケージをインストール。結局次を入れた。 glib2 glib2-devel glib2-runtime pkgconfig pkgconfigを使う…

JADセッション

Steve McConnelのProfessional Software Developmentを読んでいて知らなかったので、調べてみた。 日本語サイトはあまりめぼしいものがなかったので、英語の参考ページ。LifecycleStepの解説 UML tutorial in 7 daysの解説stakesholderをみんな集めて一気に…