日々のつぶやき(98/6/15〜)

1998/06/30(Tue)

少し前からGigaHitのログ記録を取っている。それによると同じ会社の奴のアクセスが一番多い事が分かった。(^_^;これだと社内のことに関して嘘をついている事が一発で分かってしまう。その意味で、書いていてちょっとつまらない、というかすごく書きにくい。(^_^;

で、読まれているってだけで書きにくいのに、歩く広告塔のような人がいて、あんなことが書いてあった、こんな事が書いてあったと言いふらしているらしい。で、そのせいもあって書きにくくなったから更新が遅れているのに、「ネタがないから更新が遅れている」とからかわれる。むっ。図星を指されると非常に不機嫌になる典型例だな。

更新が遅れているのは、単にワールドカップを見ているせいもあって、いつもTVの試聴時間なんてのは限りなく0に近いのに、毎日2時間近くも見ている(NHKのダイジェストだけど)から、更新する時間がなくなって当たり前。

会社のお昼休みに壊れたPlayStationの代りを買いに行く。今日はボーナスの日だったし、今回は結構多めに出た(0.5月分くらい多めにもらった)ので、ええい、使ってしまえぇというやけくそ消費である。(^_^;

家に帰ってから、G DARIUSをやりまくり。最初Video端子につないで遊んでいたのだが、画質が全然違うので唖然とする。幸い古いマシンで使っていたS端子ケーブルが流用できたので、ちゃんときれいな画面で遊ぶことができて良かった。ところで、古いマシン、どこのお店に修理に出そうか…。

NetMeetingの使い方がよく分からんというメールを受ける。今日中に返事を出すつもりだったが、ごめん。明日まで待って。>Sさん実はNetMeetingは私もそんなにいじったことがなかったりする。(^_^;

お仕事は画面周りのコーディング(といってもプロトタイプレベル)が一通り終わって、表示したDocumentをファイルにセーブする所をコーディングしている。画面周りと違って、こっちはある意味手慣れた所があるので、比較的順調に進む。まあ、出力するデータ構造も結構単純みたいだから、大きな勘違いがない限り(といってもそれが一番ありがちなのだが(^_^;)、私が理解している構造が現実の構造と大きく間違っていない限り、明日か明後日には、コーディングが終了するような感じ。もっとも私の書いているアプリケーションをサポートするはずのDLLが出来ていないので、それまで本当の所、動いているのかは分からない。とりあえず、ダミーのDLLを作ってその場をしのぐ。(そうじゃないとリンクや実行ができない)そのDLLを作ってくれるはずの人は、今別件で殺人スケジュールをこなしているNさんだから、そのDLLが出来るまではちょっと時間がかかるかも…って、これもSさん経由でNさんに伝えられるんだろうな。:-)急がせているって訳じゃないので念のため。>Sさん、Kさん 暗に口止めしているつもりだけど、KさんはともかくSさんには絶対効果がないだろうな。:-P

CScrollViewの件に関して。あれは、MFCのバグじゃなくてWindows95の仕様なんだと思う。MFCの内部まで追っかけるとすぐに分かるのだが、CScrollView::SetScrollSizes()の中でCDC::LPtoDP()とCDC::DPtoLP()を呼び出している所があって、そこでINTがWORDへの型変換が起こっている。だから強いて言えば、Windows95のWin16互換部分が悪さをしているということになるのだろう。NTではうまくいくらしいが、まぁNTとWindows95との仕様の違いってヤツだろう。こんな基本的な所でも大違いなのに、NTとWindows95で動くことを要求するなんてMicrosoftも考える事がすごいよなぁ。

ここ、2週間ほど新しいプログラム(のプロトタイプ)を作っているのだが、どうも積極的にBYTEとかはともかく、UINTとかDWORDとかのunsignedを使う意味が見いだせなくなってきている。BYTEにしたって、TCHARで宣言した方がいいところが沢山あるような気がする。データサイズから見て、32bit変数を宣言しても、どうせ使うのはその内の20〜25bit位がせいぜいだし、signedとunsignedとの混合演算で思わぬbugを入れてしまうことがあったからだ。intが16bitという前提のWin16アプリケーションだったらともかく、intが32bit以上である事が前提のWin32アプリケーションでわざわざunsignedを使うのにどれだけ意味があるのかよく分からなくなってきた。(intはINTにするべきかも知れないけど。)修行が足りないだけかな。

おっと、地震。

1998/06/29(Mon)

ショーがあるので、私の使っているスキャナ関係の機材を提供して欲しいと上司のNさんに言われた。早速、スキャナー、I/Fボード、ケーブルなどを梱包にかかる。倉庫から大きめの空きの段ボールと緩衝材を探してきて、梱包にかかろうとした時、Nさんから声をかけられる。


Nさん「お前、そんなでっかい箱をどうするつもりなの?」

vyama「スキャナを入れるんだから、これ位の大きさが必要でしょ?」

Nさん「(こめかみを押さえながら)お前なぁ…、俺のいっていること良く聞けよ。」

vyama「え?」

Nさん「俺はI/Fボードとケーブルを送れって言ったんだぞ。」

そういわれてみれば、ボードとケーブルを送ってくれとは言われたけど、スキャナは送ってくれとは言われなかった。指示を勘違いした訳だ。で、おまけに用のないでっかい箱を抱えて呆然としている。勘違いした情けなさと、間抜けな自分の姿に顔から火が吹きそうになる。

で、そのNさん。今週は殺人スケジュールでテンヤワンヤの大騒ぎ状態のようだ。(おまけに私が足を引っ張っているし…)私は直接タッチしていないのでよく分からないが、なんか、傍目から見てOEM関連の作業が異常にシビアな状況のように見える。なんか同じチームなのにのんきに作業をしているのが悪いみたいな気分…。(-_-;)

コーディングはうまく進んでいない。ある程度動くようになったが、先週中に終らせようと思っていたコーディングが結局今日までかかってしまった。document-viewモデルを実際に自分でコーディングしたのは初めてだったとか、CScrollViewが使えそうでいて結局使えなかったとかあったのだが、こんなの新人研修のプログラムでももう少しまともに、早くプログラムするぜという感じなので、ちょっと自己嫌悪。

プログラムの読みやすさと言う意味でもちょっと問題。コメント、特に関数(というか、クラスメンバー)に関しての説明が全然入っていない。まあ、データ構造が分かれば、ある程度推理できるように変数名とかを命名しているつもりだし、1つ1つのメンバーは長くても30行程度(10〜20行程度のものがほとんど)だから、理解できないってことはないと思うが。第一本体がたった1行なのに、コメントをだらだら書くのは何か変な気がする。ただ、継承を使っている所は、書くのが楽な分、読むのは大変という所があるので、後でちゃんとドキュメントを書かないと…。でもなぁ、本体が経った1行のクラスメンバーに何行もコメントを入れるのも、なんだかなぁという気がする。本体が1行のクラスメンバーに延々と長いコメントを形式的に付けるのが、さして意味があると思えないし…。(ただし、適切な関数名が付けられているなら。)

で、反省した所は、偉そうな事を言っても所詮おいらの実力はこんなもの。どうやってプログラムを書いていいのか、良く分かっていないし、(+_+;)クラスの設計も全部を分かって書いている訳じゃなくて、書きながらクラスの書き方やモデルを勉強しているような所もある。やっぱりコードを批評することと書く事は違うんだなぁと感じた。今まで批判してきた部分は自分の問題として謙虚に受け止める事にしよう。

今日書いた部分にとんでもなく実行速度が遅い部分があった。処理を始めてから、処理の終了まで30秒ほどかかっていた。プロファイラを取ろうとしたが、なんだかうまくいかない。仕方がないので「ここが遅い」という部分を見当をつけて、その部分のデータ処理のアルゴリズムを変えてみる。そしたら、一気に15倍以上実行速度に差がついた。これだけ一気に処理スピードが上がると、「やったぁ」という気分になる。

ただし、この速度向上にはちょっとした訳がある。私の場合、最初にプログラムを組んだ時はそのプログラムをなるべくありふれたアルゴリズムで書こうとする。例えば、バイナリーサーチが使えるような局面でもわざわざ実装の簡単な線形サーチを使って、機能を実現したりする訳だ。で、線形サーチに速度上の問題がある事が分かってから初めてそこを何とかしようと考える。今回も線形サーチをしている部分があって遅くなるだろうな、とは予想したものの、とりあえずプログラムが正しく動くようにする。で、機能分解がちゃんと出来ていれば、局所的なロジックが大幅に変更になっても、書き換える部分が極小で済むんだよね。で、実際極小で済んだ。(理想的には。)プロトタイプを作るってのは、きっとこんな事なんだろうか。まあ作っているのはプロトタイプもどきだけど。

でも私がやっているのって、「プログラム書法」の標語のいくつかを実践しているに過ぎないような気がする。あの本ってFORTRAN、PL/Iで書かれた本だから、今読むのはつらいかも知れないけど、読めばきっと役に立つ。これのC versionが出てくるのを切に望む。

まあ、偉そうな事を言っていても、私も所詮はこの程度であるのははっきり確認できたのが今日の収穫。(自嘲)

1996/06/28(Sun)

PlayStationがこわれた。CD-ROMが入っている事を全然認識してくれない。がちょ〜ん。ボーナス前だし、修理にどれくらいかかるか分からないから新しく買ったほうがいいのかも知れない。シクシク。

1996/06/27(Sat)

DEEP IMPACTを見る。いくらでかい彗星だからといって、あんな風にみえるのかなぁという疑問はあったが、ニューヨークを津波が襲うシーンは迫力があった。

映画のストーリーとは関係がないが、出演者の一人リリー・ソビエスキーが目を引いた。パンフレットを見て驚いた。この子、15才なのか。お人形みたい。

夜になってから、数理研究会に出席。一ヶ月も出席していなかったので、話もすっかり忘れているし、話を聞いてもついていけなくなっている。(^_^;おまけになんだか眠くなってしまって、話が頭に入ってこない。(^_^;

1996/06/26(Fri)

ジャマイカにまで負けるのかぁ。結局城が後半から交代になってロペスが投入される。その交代があってから日本の動きが良くなったような気がする。で、とうとう後半29分に相馬のクロスボールがロペスに合ってそのままヘディング。全然外したかと思ったら、ばっちり中山が走り込んでてそのままゴール。ただ、一点入ったとはいえ、敗色濃厚。あまり喜ぶ気にもなれなかった。結局そのまま試合終了。

勝てなかったので、フラストレーションが溜まったが、せめて一点入ったので良しとしよう。そうじゃなければつらすぎる。

1996/06/25(Thu)

復活の気配?

CScrollViewのスクロール範囲を32767以上に設定するとおかしくなるということを知らなかったので、おもいっきりはまる。チキショ〜、なんで32bitアプリケーションなのにそんな制限があるんだよ〜。(T_T)

1996/06/24(Wed)

死んだ

火曜日のOLTが長引いて飲み過ぎたぁ。

1998/06/23(Tue)

06/23とかいいながら、書いているのは6/22だったりする。最近更新が滞っているので、翌日の日記まで読んでもらおうという読者サービスなのでそのへん、よろしく。(^_^;

なんか最近ヤツが生意気だ。私の場所なのに、平気でその場所に居座って平気な顔をしている。「どけっ」と怒鳴っても平気な顔をしている。温厚な私としては、腕力になんか訴えたくないのだが、ここまで聞き分けがないと実力行使するしかない。私に言わせれば、ヤツなんかは新参者もいい所で、ろくすっぽ仕事もしないごく潰し。寝ているか、ご飯を食べているかしかこいつの姿を見たことがない。全く自分の立場を分かっていないと言うか、何と言うか。まあヤツに人並みの知性を期待するのが間違いだと分かってはいるのだが、犬でもこれだけ何回も教えたら憶えそうなものなのにそれさえも出来ないんだものなぁ。邪魔して欲しくない時に限って現れて、探そうとすると決まっていない。全く、どうしたものか。

今日も私がこのページを更新しようと自宅のコンピュータの前に座ろうと思ったら、そいつがいた。いい加減、生意気にも程がある。さっさとどきやがれ!と思って足を踏んづけたら叫び声を上げて逃げて行った。やれやれ。

ところが5分後、のこのこやってきたと思ったら、膝の上にちょこんと乗ってきた。あれだけひどい事をされたのになぁ。今は私の膝の上で喉をごろごろ鳴らしながら、目をつぶってじっとしている。全く、この猫という生き物は…。

1998/06/22(Mon)

なんか、最近更新が遅れている。実の所、書くのはそれほど滞っていないんだけど、アップロードするのが滞っている。なんか、その日のうちに書ききれなくて、アップロードを断念、翌日ちょっと書き足しすんだけど、また書き足した日の日記をその日のうちに書き切れなくてアップロードが滞るということが続いている。まあ、更新が滞っている理由をネタにするくらいだから、更新がつらくなっているんだろうな。(^_^;

しかし、昨日の(「きのう」で変換したら、機能、帰納に続いて昨日は第3位の候補だった。私の言葉遣いがどれだけ変か、これでわかるな。)アルゼンチン VS ジャマイカ戦はすごかった。ジャマイカ側に前半退場者が出たせいもあるんだけど、もう後半は怒濤の攻撃。終ってみれば 5 - 0。もう3点取られた所でジャマイカチームが集中力が切れちゃった感じで、アルゼンチンも大人げないとも思えるような(^_^;、点の取り方と言うか。ジャマイカのサポーターなんか後半完全に沈黙しちゃったもんね。見ていて気の毒になってきた。

ただし、途中でレッドカードをくらうなど条件が悪かったにせよ、非難すべきはそこまでサポーターを意気消沈させちゃったジャマイカチームの方。その点日本チームは劣勢だったとはいえ、サポーターに「最後の一蹴りで同点」「そこそこ対等にやっている」という「夢」だけは試合の最後まで持たせてくれたもんね。もちろんプレーヤーがその段階で満足しちゃいけないんだけど、将棋で考えてみれば新6段が、将棋界の殿上人クラスに最後の最後までそこそこ対等にやっている対局をやったようなものだ。

で、実はこのワールドカップを見るまでは、Jリーグって日本ローカルの、ヨーロッパ、南米あたりのリーグとは比べ物にならないくらい低い程度のリーグだと思っていた。でも、Jリーグで活躍している選手が何人かワールドカップの中心選手として出場している。実際、ブラジルの代表選手のドュンガだったけ?ドュンガが10人いたら絶対負けないとまで誰かがいい切っていたもんね。日本でプレーしている選手(例えばドゥンガ)を追っかけているだけで面白いかも。この前のアメリカ大会で、こんな楽しみ方って出来たっけ?チームレベルでは、金があるなら、いい選手を引っ張る。プロスポーツの分野では善であっても悪では決してない。

今の所はJリーグのトータルのレベルは、はっきりいって世界の強豪レベルに及ばない。でも、ちゃんと成長しているし(前回は地区予選突破できなかったのだ)、これからのJリーグってのが次の日本・韓国大会での布石だと思うと、やっぱりなんだかJの試合も見る気になるよね。Jリーグのレベルと世界の最高の大会の差って「たった一蹴り」なんだもの。それがプレーヤーレベルではとほうもなく遠い道であったとしても、見る側にとっては「たった一蹴り」。これが5 - 0 でぼろ負けだったら、「Jなんか…」だったかもしれないけが(^_^;、でも大会って先輩たちから受け継いだ伝統というか、試合度胸みたいなものが結構大切だったりする。とりあえず、ジャマイカ戦では一勝挙げるとして、次のワールドカップでは決勝トーナメントにエントリーして欲しい。「可能性はある。わずかとはいえ」え〜とどこかで聞いた台詞だなぁ。(^_^;心当たりのある人は、手をあげるように。:-)

今までの仕事が一段落したのを受けて、新しい仕事を授かった。長い目で見ると結構色々やらなくちゃいけない作業が沢山あるなぁと感じた。とりあえず手の尽きやすい所から仕様を固めて行く。U/I以外は特に問題になりそうな場所もない感じがするが、実は人に見せるセンスが全然ないし、作り込んだ経験もそれほどないので、実は結構びびっていたりする。(^_^;でも新規コードを書くなんて久しぶりで、なんだかワクワクする。

このワクワクをワールドカップ日本代表にも届けたい。で、ボールが相手ゴールのワクに入ればいいなって、こんな下手な洒落を言っているのは、きっと土曜日に買ってきた能天気音楽広末涼子の「大スキ」を聞きまくっているせいに違いない。(^_^;初めて買ったCDシングルがこんな能天気音楽だと告白するのもなんだけど、だってヒロスエかわいいんだもん。(^_^;

Nさんから、HTML出力に関して相談を受ける。小さな画像が沢山並んだ目次ページの画像部分をクリックすると、大きな画像が出てくるというのをやりたいらしい。目次ページの画像の並び方とか、画像コメントのレイアウトなんかを気にしなければ(^_^;、ひな形を作るのなんてのは結構簡単だ。で、お気楽ご気楽にひな形はすぐ作れますよ、と安請け合いしたのが例によって間違いのもと。(^_^;

ひな形を作って、それを出力するサンプルプログラムを作るまで1hourもあればでっち上げられるだろうと思っていたのだが、ひな形を作るだけで、HTMLのバージョンは何を基準にすればいいのか(結局HTML2.xを基準にすることにしたが、一部テキストの回り込み処理関連でHTML4.0を使うという優柔不断さ)、ちゃんと考えなくちゃいけないことは沢山あることに今更気がつかされる。お前、つい昨日Code Completeを読んで安請け合いしちゃ自分の首を絞めるばかりではなく、他の人の大迷惑になる事を勉強したばっかりじゃないか。死ななきゃ直らないと言うのはこの事だな。(-_-;)

結局ひな形だけ組んで、Nさんに渡す。まあひな形に埋めこんであるキーワードを置換すれば、目的のものが得られるように作っておいたので、変更するとしてもそんなに大変じゃないはずだし、ちょっと(1日程度)余計に作り込めばあんな機能が出来るなぁ…。 だから、その点では多少気が楽だけど、Nさんには後でもうちょっとフォローをしておかないと…。

1998/06/21(Sun)

図書館に久しぶりに行く。そこで「Code Complete」(アスキー出版局、ISBN4-7561-0210-7)という本を見つけたので早速借りて読んで見る。以前、何人かの同僚がこの本の事を誉めていたので、興味があった。また、ここの所、私の常識とはかけ離れているプログラムを読んでばかりいたので、なんだが最近は私のほうが変じゃないのかと、疑心暗鬼になっていたのだ。相当分厚い本(全部で950ページ近くある)なので、読み切るのは結構大変そうだ。

で、さっそく家に帰って読み進めて行く。当然いつでも眠れるように布団に寝転がってだ。最初の80ページほどは、プログラムを書き始めるための準備について書かれていた。特に奇抜な事を言っているわけではないし、ここに書かれている「準備」をちゃんとやらないでプログラムを書き始めることがあるなど常識的には信じられないが、実際にはプログラミングというのは往々にして、非常識が常識を凌駕するものだし、無意識下でやっている事をちゃんと言葉にして、改めて確認するのも大切な事である。少々くどい気もしたが、読み物としてはそこそこ面白いと思った。

でもなんか、第2部あたり、実際のコーディング局面に関しての記述になると、だんだん退屈してきた。この本が出版されたのは1994年(英語版はもっと早いだろうが)なのだが、なんか目新しい話題とか、はっとさせられるような話題が私にとっては少なかったせいだ。私の期待としては、ちょうど内容が重複するような「プログラミング書法」(ISBN4-320-02085-5、初版1976年「書法」)を踏まえて、より高度なテクニックとか、書法がFORTRAN/PL/Iを対象に解説している事を、C/C++に即した内容にして解説してくれるのだろうと期待していたのだが、詳しくは解説していて、おおよその指摘は正しく行われている。ただし、新味はないし、細かい所でいくつか納得できない所もある。読んでも読んでも新しいアイデアみたいなのがないので、読んでいて退屈しだしてきた。200Pageくらい読んだ所で斜め読みを開始して、それでも600ページほど飛ばし読みをした。

気になったのがコードチューニングに関する記述。まあ本の構成として、それほどチューニングにページを割く訳にはいかなかったのだろうが、内容的には大いに不満。この部分は、「High Performance Computing」の内容で全面的に読み替えたほうがいいだろう。

まあ、まだ読んでいない1/3で何か目新しい事が書いてあればうれしいのだが。

おっと、こんな事を書いている場合じゃないや、アルゼンチン VS ジャマイカ戦じゃ。

1998/06/20(Sat)

今日はいよいよサッカーワールドカップ日本対クロアチア戦。もう勝つしかないのだが、必勝を期して水に打たれに行く。神様にお願いするのに、素っ裸で水に打たれるなんてなんて健気なサポーターなんだろう。自分で自分を誉めてあげたい。(Coptright by 有森)水の温度は…大体41〜42度位だったかな。

ところが、ところがである。前半は0-0で折り返したものの、後半32分(?)に中田のパスミスからあっという間に中央付近を突破されて、ゴールされてしまう。終了直前にも通れば決定的という所もあったが、結局クロアチアの体の大きさに圧倒されたような感じがした。日本がコーナーキックを取ってボールを上げても、とても届くような気がしないし、突進された時に止められるような気がしないんだよね。(-_-;まあ、そこがレベルの差なのかもね。そこそこうまくやっていたような気はしたんだけどねぇ。

1998/06/19(Fri)

うちのチームは、とにかく殺人スケジュールといった感じで進行している。なんか雰囲気がぴりぴりしている感じ‥、なんだけどそんな中でも戦力外の私は「のほほん」状態だった。(^_^;一応、課題になっている引き継いだソースファイルについては、一応把握できる程度には読み込んだので、それを今日の打ち合わせで言って新しい仕事をもらおうとでもするかと思っていたのだが、ものすごく忙しそうだったので、ちょっと声をかけにくかった。と言う訳で今日はほとんど給料泥棒状態。(^_^;あ、いつもの事か。(^_^;;

まあ、さすがに何にもせずにぼ〜としているのも格好がつかないので、仕様変更があるにしてもどうせこれ位のbasicな下位関数は必要だろうと思われる所を書いて行った、という事にしておこう。

このような言い回しをするのにはちょっとした訳がある。実は少し前からアクセスログを取っているのだが、驚いたことに、このページへのアクセスNo.1ドメインは、うちの会社、つまり同僚が読んでいるのがほとんどなのだ。(^_^;もうそうそう滅多な事は書けないって、もう十分滅多な事を書いているから、今更手遅れだけど。(^_^;直接の上司も読んでいるって言っているからなぁ。今後は書く内容はある程度セーブせざるをえまい。(しないに決まっているが)

ネットワーク上でクリップボードを共有するツールの最初のバージョンVersion 0.1が出来た。バージョン番号から分かる通り、制限が多すぎる+ひどい実装というのと、自分でも納得のいかない未実装機能があるので、とても公開できるレベルではない。(^_^;IPMSGのソースを読みながら、機会・要望があればもう一度書き直して公開するのもやぶさかではないが、どうせ私一人が使っているツールだから、もういいやって気がしている。今の所、IP.Addr固定じゃないと使えないから、DHCPを使う普通のLANユーザーにはつらいものがあるだろうな。IPMSGみたいにUDPを使ってBroadcastすれば解決するのは分かっているけど、こんなツールを使おうと言う奴もいないだろうから、まあいいや。(^_^;

で、少しだけIPMSGのソースを読んでみたのだが、こっちはsocketに関してはほとんど素人なのでその部分でつまずく。というか、socket APIが何をやるものなのかてんで分かっていないので、この関数は多分こんな事をやっているんだろうけど、socket APIが出てくると御陀仏。もうちょっと勉強しないとな。(^_^;ただ、最初にIPMSGのソースを読んだ時には「全然何をやっているか分からない」状態だったのだが、今日改めて読んで見ると、socket周りのところは依然としてよく分からないのだが(^_^;、全体の流れはすいすい読めたので驚いた。これは一ヶ月間の鍛錬の賜物に違いない。(^_^;やっぱり苦労は人間を成長させるな。:-)

で、ちょっとしたドツボ。SetClipboardViwer()をよく考えず使っているのが、ガン。(^_^;コンピュータA,Bともに自分自身をClipboardViewerとして登録。→Aにクリップボード変更が通知される。→自作のプログラムによって、Bにクリップボード変更が伝えられる。→Bのクリップボードを変更。→自作のプログラムによって、Aにクリップボード変更が伝えられる。→Aのクリップボードを変更する→Aにクリップボード変更が通知される。→(以下無限ループ)

仕方がないので無理やり何とかしたけど、機会さえあれば後で書き直してみよう。←そんな気はさらさらないくせに。(^_^;

1998/06/18(Thu)

腰が砕けてしまうとか、激怒するとかいった困難を乗り越え、なんとかソースプログラムの読み込みが終る。HTML、RTF、WRIの出力プログラムを読み終えてしまえば、あとは大したことはないので、一気に読み進める。TXT、CSV、SILの出力部文を読みおえてやっと引き継ぎ完了といったところか。もっとも「こんなの意味不明!」とかで読むのをあきらめた所も結構あるのだが(特に即値などに関して)、もう経験値だと思って割り切るしかないとあきらめている。経験値じゃないにしても、もうそんな推理ごっこはもう沢山。(^_^;

後日、何とかしないといけない部分についてだけ、もう一度じっくり読む事にしよう。どのみち、あんな状態のままではメンテナンスや拡張が不可能だから、書き直さざるをえまい。上司が評価する時には「何にもやっていない」って評価になるんだろうけど、まあそれも仕方がない。実際、HTML出力部分なんてあれだけ沢山コメントを付けたにも関らず、行数換算だと生産量が-7%なんだもん。(^_^;RTFで同じことをやったら多分生産量-10%以上行くと思う。最初から書き直したら、多分生産量-20%は固いと見た。

まあ、メンテナンスが楽になって喜ぶ人は出てくるだろうし、後で改造が楽になれば最終的には開発コストも下がる。上司としては生産量をきっちり押さえて、新機能とかを追加する工数に割り当てたいんだろうけど、当面の貧乏くじを引くのが私だけだったら、それでもいいや。とりあえず、どう書き直すのか見えてきたような気がするし。

しかし、1月かけて、*.cだけでも25000行以上読んで、得られた結論が「全面書き直し」ってのはつらいものがある。お先真っ暗。(-_-;;)

1998/06/17(Wed)


BYTE byTempTmp[MAX_BUFSIZE];

byはBYTEのprefixだから、結局変数名の意味としては「TempTmp」だけ。これを読んだ途端、一気に腰が砕けてしまった。(^_^;変数名としては「一時的に、一時的な変数」としか意味が取れない。まあいいや、と思いながら、「でも一時的に使う配列ってのも変だよなぁ」と思っていたら、とんでもなかった。この配列、別のpointer変数にaliasされて、その関数の中で使いまくっていたのだ。めちゃめちゃ気分がめげた。まあ、引き継いだソースは全部捨てて、最初から書き直すつもりだから、今更どうでもいいか。

1998/06/17(Wed)

ちょっと体調が悪いのかな。昨日体調を崩して、ほとんど口にモノが入らない状態だったので、ちょっとふらふらしているし、頭もぼ〜としている。頭に栄養が行っていないのかもね。あ、ぼ〜としているのはいつものことか。(^_^;

RTF出力部分を読み終え、WRI出力部文を読んでいる。4つほど、意味不明の定数値があったのだが、いい加減疲れてきたのと、どうせ深い意味はないんだろうというわけで、将来的にも「as is」で放っておく事にして、どんどん先に読み進めて行く。どうせWRIファイルなんて、需要も高くないだろうし、まともに読んでも益が少ないだろうし。いい加減、なんのコメントもなしに即値がどんな意味があるのかを推理するのに疲れてきた。なんかやっている。それでいいじゃん。それで動いているんでしょ?RTFとかHTMLは後任に引き渡す時にはまともなソースにしておくから、せめてWRI位は後任が何とかしてくれ。私はもう疲れた。(^_^;

1998/06/16(Tue)

昨日、梅を食べ過ぎたせいだろう。ひどい下痢。一日中、トイレと部屋を行ったり来たりした。当然会社は「病欠します」でお休み。まあ、急ぎの仕事を抱えているわけでもないし、今抱えているソースファイルを読んで、処理内容を理解するという仕事は1日くらい休んでも今週中には何とかなりそうだから、体調の悪い時くらい休んでしまえ!どうせ、こんなときでもない限り、有給休暇なんて消化できないに決まっているから…。

と言う訳で、トイレにいるか、トイレに行くために自室で待機しているかという不毛な1日を過ごした。


1998/6 前半のぶつぶつ

1998/7 前半のぶつぶつ

日々のつぶやき 目次

作者(vyama_at_janis_dot_or_dot_jp)への感想・意見など。
spamよけのため、_at_や_dot_は適宜@や.に入れ替えてください。

目次ページ