ただいま修行中...

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

C#にはないのか?

2007-07-30 22:37:03 | C#
C++Delphiなどは、メソッドプロトタイプ宣言をすることができるので、宣言部と実装を切り分けて、記述することができるので、非常にその部分のコード可読性はいいのではないかと思います。

しかし、C#の場合には、すべて、C++でいうところのインライン関数で記述するので、そもそもメソッドが長くなるのを避けるべきだとは思いますが、一つのメソッドちょっと長くなってしまうと、非常に可読性の低いソースコードになってしまいます。

言語の使用だから仕方のないことかもしれませんが、どうしてだろうと考えると、おそらくC#には、partialキーワードがあるからかなと思います。

面白そうなゲーム:DS眼力トレーニング

2007-07-29 22:58:52 | 未分類
今日、CMを見ているときに、DS眼力トレーニングが面白うそうだと思いました。
CMでやっていたのは、野球とボクシングを行っていて、それを見ただけでコレは買わなくてはならないと思いました。

やはりスポーツをしている人間としては、だんだんと動体視力というのが落ちてきます。これを鍛えなくては、だんだんと試合にでることができなくなってしまいます。

DSを使って眼力をアップさせて、目指すは、国体出場?それ以前に筋肉をつけなくてはならないので、まずは、ビリー・ザ・ブートキャンプで動けるような体を作ってからだなと思います。

ちなみに、Amazonで価格を調べたら、3230円でした。

高校野球について

2007-07-28 23:16:48 | 野球
今日は、休みだったので高校野球をテレビで見ていました。
そのときに、高校野球っていいなと思いました。

なぜいいかというと、技術的にみれば確かにメジャープロ野球の方がすごいというのは当たり前だし、ファンサービスも行き届いています。
しかし、外野から選手がベンチに戻ってくるときには全力疾走だし、1回負けてしまうと、これで最後と言う気迫が伝わってきます。

どうしてもプロというのはリーグ戦なのでそのような気迫などは高校生に比べると伝わってきません。また、外野からベンチに戻ってくるのにもそのような姿勢を観ることはできません。こういったことをするだけでもやはり野球人気というのは戻ってくるのではないかと思います。
例えば、数年前に阪神にいた亀山選手というのは常に全力プレーで、1塁に間に合うかどうかの時にはヘッドスライディングをしていました。
ヘッドスライディングに関しては、怪我をすることもあるのでかなり危険なプレーではあると思います。
しかし、このような全力の姿勢というのがやはりファンをひきつけるものだと思いますので、多少でも構わないので、現在のプロ野球の選手にもこういったことが必要なのではないかと、テレビを見ていて思いました。

お勧めの本

2007-07-26 23:47:53 | お勧めの本
お勧めの本で、「勝者の決断 指揮官と参謀の戦略思考」です。

この本は、色々な歴史上の指揮官や参謀がどのような思考で戦略を立案してきたかを具体的な事例で紹介している「兵法書」です。

特に私が好きなところが、第5章の「知的リーダーの肖像」と第7章の「強い軍隊はボトムアップで動く」です。
第5章は、戦場のリーダー達が様々な問題を解決するために、どのようにして知識、情報を方法化したのかを説明しています。

第7章は、軍隊は、上位指揮官による適切な命令示達次位指揮官への自由裁量権付与、次位指揮官の命令受容という「チェーン・オブ・コマンド」によって成り立っていて、軍隊において、受容される作戦計画というのは、参謀の普段の努力と現場に対する理解、信頼のうえにきずかれるということを説明しています。

私は常に現場で物事が動いていて、現場をみて、それらの情報を今までの知識や経験、現場の意見を総合的な判断から戦略というのは立案されなくてはならないと考えております。

これをソフトウェア開発におけるプロジェクトを小さな会社として例えたときにも同様のことがいえます。

自分ができているかのかと自問したときに、できていないことがよくわかりました。

この本は、私にとって色々と考えさせてくれた本だと思います。

勝者の決断
半藤 一利,童門 冬二,成 君憶,後 正武,松岡 正剛,中條 高徳,矢澤 元
ダイヤモンド社

このアイテムの詳細を見る

思いつき

2007-07-25 22:05:50 | ソフトウェアテスト
昨日から体調不良で熱が出ていたときに、ふと思いついたことがあります。

テスト自動ツールですが、テストエンジニアが操作したログを取っておいてそれをそのツールを使用して繰り返し行うテストを軽減されるようなものにすればいいのではないかと思いついてみました。

それなら大掛かりなツールにもならないし、操作したログの取得とパラメータを取っておけば、2ラウンド、3ラウンド目のテストが非常に時間短縮が図れると思います。

ただ、問題はそこでバグがあったときに、ログとしてどのようにとっておくか、エラーログとしておくか、あるいは通常のものと変わらないようにログを摂っておくかです。

また、全てのログにおいて、正しい結果をテストエンジニアにセットしてもらうかなど色々と考えなければならないことはあるが、まずはそんなものでもできればテストの時間短縮と効率化に繋がるのではないかなと思いつきで考えました。

C#でExcelファイルを開く方法

2007-07-23 21:31:35 | C#
C#Excelファイルを開くときに、Openメソッドの引数として15個指定しなくてはなりません。

C#の場合
Excel.Application xls = new Excel.Application();
Excel.Workbooks wbs = xls.Workbooks;
Excel.Workbook wb = wbs.Open(ファイル名, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

VBの場合
Dim excelApp As New Excel.Application
Dim excelWork As Excel.Workbook
excelWork = excelApp.Workbooks.Open(ファイル名)

どちらが見やすいコードか一目見ただけでわかると思います。
このように、その場その場に応じて言語をすることで読みやすいコードを書くことができます。

初戦突破

2007-07-22 20:18:39 | 野球
夏の甲子園予選が各地区で行われており、静岡でも1回戦が行われています。

わが母校が久しぶりに初戦を突破しました。おめでとうございます。

私が在学中には、初戦敗退するときは1回もありませんでした。
最近は、どうも弱くなったのか初戦敗退を何年も続けておりました。
体を見ていたり、ピッチャーの球の速さや変化球のキレを見てもやはり数年前に比べると、中学生かと思うような球を投げている子がいました。

体調が悪かったので、応援に行くことはできませんでしたが、なんとか初戦突破をしてくれたので、良かったと思います。

次も勝って、いきおいに乗り目指せベスト16くらい。

ちょっとしたことで喜ばれる

2007-07-20 23:12:27 | ソフトウェア開発
今日、Excelマクロが組まれたファイルを使用して、データを設定してファイルを作成していました。

そのときに、ある設定は、他のシートに反映されて表示されるのに、この設定は反映されないや、この値を設定すれば、組み合わせによって、データを表示できるのにできていないなど、本当に些細なことですが、できていないことがありイライラしました。

私達が製品を開発する場合もそうですが、本当にちょっとした気遣いをもって開発をすれば、顧客に喜ばれるものを作成できるのではないかと思いました。

まあこれも製品自体が導入され、使用されなければまったく意味のないことですが、導入さえされれば、喜ばれることはあるのではないかと思います。
お、ここ中々やるなということもあると思います。

このようにちょっとした気遣いで喜ばれて良い印象を持たれる製品を私達はつくらなければならないということを他の人が作成したもので強く感じました。

C++のprivate継承

2007-07-19 22:56:00 | プログラミング
このブログのところで、ただいまC++勉強中とあるのに、C++を勉強していないと思い、最近、C++の勉強を復活させました。

C++においては、JavaC#等と違い、private継承protected継承といった考えがあります。基本的には、JavaやC#の場合には、C++のpublic継承になります。

private継承とは、継承先サブクラス)へ外部からアクセスしたときに、継承元スーパークラス)のpublicなメンバーやメソッドにアクセスすることができないものです。
継承先では、継承元のpublicなメンバーやメソッドにはアクセスすることができます。

つまりは、外部から継承先のメソッドを隠蔽したいときに使用します。

私が考えるに、public継承は「is-aの関係」で、private継承やprotected継承は「has-aの関係」ではないかと思います。

プログラミングの勉強法

2007-07-18 22:55:23 | プログラミング
これからプログラミングを覚えようとか、他の言語を新しく覚えようとする場合に、本を読んだだけでは覚えることはできません。(相当優秀な人で無い限り)

本を読んでいると、ああわかるわかるやこれならできるから実際にコーディングしなくてもいいと思っている人が時々いますが、本だけでは実際にコーディングできるようになりません。
わかったつもりになっているだけです。

プログラミングを覚えるためには、実際に自分の手を動かしてこのあたりはどうしてこのように書くのだろうとか、この処理を別の方法で実現するためにはどのような方法があるかなどを考えて初めて実際にコーディングできるようになります。

例えば、C++でのクラス宣言や実際に使用するときに、ヘッダーファイル(*.h)に書くこと、ソースファイル(*.cpp)に書くことを本だけでは、わからず実際にコーディングしてみるとコンパイルが通らなかったりすることが時々あります。

そのときに初めて、なぜコンパイルが通らないのかを考えたり、色々と調べたりするので、覚えることができます。

やはり何事もそうですが、実際に行ってみないと、わからないということがよくあります。
コーディングも同様に実際に手を動かして、思考を働かせることで、自分のものとなっていきます。