ただいま修行中...

ソフトウェア開発において、勉強中で悪戦苦闘の日々

見積もりはあてにならない

2008-05-30 23:19:38 | ソフトウェア開発
プログラミングをしていると、意外と簡単にできるなと思うものに時間がかかったり、難しいなと思うものが簡単にできてしまうことがあります。

なぜこのようなことがたびたびあるのかなと考えてみると、作成したソースコードがあまり分かっていないこと・難しく考えすぎている・外的要因により制御が難しいなどがあるのではないかと思います。

また、技術的にも結構時間がかかりそうだなと思うものがライブラリがあり、簡単にできることもたまにあります。

だから何人月等はあまり意味がないということになります。見積もりはあまり意味がないと思います。

読みやすいコードを書くために

2008-05-28 22:47:52 | プログラミング
一時期、別の作業をしており、元々の作業に戻ったときに、自分のソースコードを確認していると、なぜこのようなわかりにくかったり、不要なソースコードがあるのだろうと思いました。

そのソースコードを書いているときにも、どうすればいいかは考えて書いていましたが、やはり少し時間が経ってから見てみると、色々とわかることがあるなと思います。

どうしてもソースコードを書いているときには、その作業に集中してしまうので、周りが見えなくなるような感じになってしまうと思います。

そうならないためにも、ソースコードを書いているときに、第3者の視点で確認すること・1~2日程度経ってから見直す必要があると思います。

テストコードがあったので、修正したら真っ赤になり、どこがおかしいかがすぐにわかるので、ユニットテスティングツールは必要であると思います。

前も言いましたが、テストコードがないものはリファクタリングと言わず、破壊濃いです。

人が退職するとき

2008-05-26 23:33:37 | ビジネス
人が会社を辞めようと思うときや辞めるときはどういった理由があるだろうか?

人それぞれあると思います。

辞めるときには、解雇、自己都合といった2種類があります。中でも自己都合の時は人それぞれであると思います。
人間関係、今の会社に魅力がなくなった、納得がいかないことがある等があります。

私が思うのは、納得がいかないことがあるが根本の原因ではないかと思います。多少、人間関係が悪くても、納得がいくことができれば、ある程度までは我慢できるし、魅力がなくなったのも同様に考えます。

やはり一番は「納得がいかない」ではないかと思います。

ただその前に自分自身を振りかえり、直すべき点がないかを考えなくてはいけないと思います。

プログラミングをする上で必要なこと

2008-05-21 22:42:08 | プログラミング
他の人が書いたソースコードで、あるバグがあり、調査していると、あるメソッドが正常な値を返さないということがわかりました。

まずは、テストコードを書いて、正常な値を返すかどうかを調べていると、やはりテストコード上でも正常な値を返さないことがわかりました。

原因を調べてみると、あるメソッドの中で、ListAとListBがあり、本来は、ListBへAddしなくてはならない箇所をListAにAddしているので、正常な値が返されないことがわかりました。

正直、このことをテストコードで記述していれば、本来は防げたはずのバグというのも微妙ですが、バグです。

本来は、その部分のテストコードを書いてあれば防げたことです。

やはり、どこまでテストコードを書くべきかといった議論はありますが、テストのことをわかっていれば、防げたのではないかと思います。

プログラミングをする上で、テストのスキルというのは非常に重要だなと思いました。

OutOfMemoryExceptionが発生:続編

2008-05-19 22:45:57 | C#
OutOfMemoryExceptionの原因がわかりました。

DataGridViewを継承して作成している外部のライブラリのバグで、ScrollBarsの設定が、ssBothの時に、外部のライブラリグリッドをひとつの画面で表示していて、縦横のスクロールバーが非表示の時に、別の画面で、同じように外部のライブラリのグリッドを使用すると、OutOfMemoryExceptionが発生してしまうと言うことです。

これは、外部ライブラリにおいて、DataGridViewのスクロールバーを消して、独自で作成しているスクロールバーを追加しています。その処理が悪くて、発生していました。

デバッグをしていて、UserControlDockをFillに設定していると必ず落ちるので、正直わからないなと思っていましたが、思いがけないところで発生していました。

今回は、原因がわかったのでよかったと思いますが、もう少し根が深いような問題だったら、正直もっと時間がかかったと思います。

OutOfMemoryExceptionが発生

2008-05-15 22:24:41 | C#
今日、C#でプログラミングをしていると、OutOfMemoryExceptionが発生しました。
OutOfMemoryExceptionってなんだと検索してみると、ヒープに使えるメモリが足りなくなっているため、この例外がスローされていることがわかりました。

よくあるのが、Staticに大量のデータを保持していると、GCの対象から外れるので、この現象が発生します。

Javaなんかだとよくあるようで、JavaVMのヒープ領域の設定を変更すればうまくいくようですが、C#の場合にはできるのだろうかと、現在調べているところです。

GCの対象外になっているものを一つ一つ調べなくてはならないので、結構時間がかかりそうです。

原因がよくわからない:続編

2008-05-13 23:30:14 | 未分類
先日、WORDを使用していると、ブルースクリーンになってしまう現象がようやく解決しました。

原因は正直良くわかりませんでした。通常使うプリンタを切り替えてもやはり落ちてしまうので、プリンタドライバが原因ではないことまではわかりました。

もしかしたら、スキャンディスクをしたら直るかと思い、Officeアンインストールした後に、スキャンディスクを実行して、Officeを再インストールしたら、現象が出なくなりました。

正直、ログを確認してもクラスタ領域の一部が壊れていたことくらいしかわかりませんでした。

これって仕様なの?

2008-05-12 22:08:00 | ソフトウェア開発
Officeアップデートを行うと、必ず、電子メールの設定が、Microsoft Outlookに変更されてしまいます。

アップデートを行うたびに、毎回、電子メールの設定をOutlookExpressに変更しなおさなくてはなりません。

頻繁にあるわけではありませんが、ちょっと面倒です。
なぜだろうと、調べてみると、どうも「仕様」ということらしいです。

本当にこれって仕様?って思うくらいです。
なぜなら、設定を保持しているわけなので、この設定を変更しなければいいわけで、技術的にはまったくもって問題のないことなのに、仕様というのはなぜか非常に疑問です。

話題のパン:のっぽパンゲット

2008-05-11 23:03:58 | 未分類
先日、静岡市にあるパルシェの食品館がリニューアルあるされたということで、静岡県内のテレビでは、その特集が組まれておりました。

その中で、数年前まで販売しており、売れなくなったので、発売中止になっていた「のっぽパン」が再度発売されるということで、各社放送していました。

本当は、今日は野球がある予定でしたが、雨天のため中止になったので、家族でパルシェの食品館に行ってみようということになり、どうせなら「のっぽパン」を買いに行こうということになりました。

お昼ころにパルシェに到着して、真っ先にのっぽパン売り場に行きました。そしたら、どうも人気があるらしく、行列ができており、「もしかしたら買えないかも知れませんが、並びますか?」と聞かれ、とりあえず並んでみました。

なんと運がよくて、ゲットすることができました。まだ食べていないので、味がどうかはわかりません。
明日の朝の食べてまた買いにいくかどうかを決めようと思います。

どうも販売は、時間帯によって、何本と数量を決めているようですので、遅く到着しても、並べばゲットできそうです。何度かその近辺を通ったら、行列ができていましたので、並ぶことが苦でなければいいと思います。

原因がよくわからない

2008-05-10 14:47:28 | 未分類
先日から、我が家のパソコンの調子が悪く、WORDで文書を作成していると、ブルースクリーンになって落ちてしまいます。

最初は、インテル(R) マトリックスストレージコンソールの実行時、CPU利用率が高くなる問題があったため、落ちているのだと思い、最新のドライバダウンロードしてきました。

前よりは、よくなりましたが、それでも時々落ちてしまいます。

最近、行ったことは、プリンタが壊れてしまったので、プリンタドライバを入れたくらいです。

WORDやEXCELプリンタドライバが正常なものがインストールされていないと、おかしな動作をします。
WORDやEXCELは、用紙サイズを見たり、印刷イメージのまま入力を行うことがあるので、仕様上致し方ないことです。

今は通常使うプリンタを今回購入したものではないものにして試しているところです。

これで大丈夫ならプリンタドライバが悪いということになります。

一つ一つ原因を確かめながら、作業をするのは本当にプログラマという職業についたからこそできることだなと改めて、自分は幸せだなと思います。