Previous Page | Next Page

新規で作り直すか? 改修するか?

チョット野暮用が入りADPの開発(というかブログの更新が)滞ってます。自慢にもなっていない記事をそのままにしておくのも何なので、ちょっとしたネタをアップします。

他人が作ったソフトウェアにバグがあったり仕様変更で改修したりする場合、新規で作り直すか、改修するかが議論になったりすることがあります。


良く聞く意見に
 『バグバグでソースも汚いので新規で作り直しましょう』
というのがありますが、この『ソースが汚い』という意見ですが、往々にして主観が入っていることがあります。つまり、
その人のコーディングスタイルに合っていない→ソースが汚い
ということを言っている場合があり、この意見を鵜呑みにして新規開発の道に行くのは危険だったりします。
良くあるミスが、既存のコードに入っていたノウハウ(エラー処理や例外的な処理など)が新規開発で消えてしまい、却ってバグバグになったり、実際にはそう見栄えも良くなっておらず結局、工数だけかけたということになったりします。

新規なのか改修なのかというのはケースバイケースの面があり、あまり一般論では語りにくいのですが、私の場合、以下のルールで新規開発を行います。
  1. 既存のコードがある場合、基本は改修で行います。
    バグがあるからとかソースが汚いという理由で新規開発を行いたくなりますが、その程度では新規開発はしません。
  2. 改修に工数が掛る場合、仕様を完全に把握できかつコーディングテクニック上ではなくパラダイムだったりアルゴリズムが元のコードよりも有効なものが使える場合、先ずは関数レベルから置き換える。
    オブジェクト指向を使っていないコードにオブジェクト指向を行ってみるとか、サーチアルゴリズムを別のものに入れ替えるとか、if文の条件が複雑だか良く見ると簡単にできる場合に簡単にするとか、コピーペーストしているコードで共通部分を関数にするとかです。
  3. 出来ることならテストプログラムを書き、デグレードを防ぐ。
  4. 徐々に改修するコードを広げてゆく。


とまぁこんな感じでやってます。

ちなみに、自分が過去に作ったコードは結構大胆に書き換えたりします。自分が作成したものの場合、1回目より2回目の方がソースが綺麗に書けるということと、『仕様を完全に把握している』という条件をクリアしやすい為です。

2010-07-27 | コメント:0件

英検(2) -苦手意識-

 ちょっと前の話ですが、7/11は選挙があったのですが、私にとっては英検の2次試験(面接)がありました。
その日は準備不足もたたって朝からブルーになっていた。準2級を受けた時は簡単だったので気楽に受験できたのだが、2級の問題ではもう少ししゃべらないとダメなようで『イヤ・・・俺にはむり・・・』という感じで、受験する前から敗北感でいっぱいだった。
昼過ぎに会場に入り空調の効かない講堂で結構待たされ悶々としている中で余計なことを考え出した。
ここ10年ぐらい、散発的ではあるが英語の勉強をしてきて、楽しいと思ったこともなくせいぜい周りに、程度の低い自慢をする程度だったのだが、英検2級に合格したい思いとムリという思いが交錯してなんとも言えない緊張感を持ちながら『テストは何時や~』と待っていた。
しまいには気持ち悪くなり(多分、暑さのせいなのだが・・・)、心を落ち着かせようと『平常心、平常心。普通に会話したらええから・・・』と自分に言い聞かせ。面接に挑んだ。
面接官は、欧米人男性の方でどうも朝からのテストで相当疲れているらしく、「あ、はい、じゃこれ読んで」ってなノリで流して来た。
こちらも拍子抜けした感があり、力が抜けて英会話の授業のノリで受験してしまい、テスト中に思わず、「○○の意味ってなんですか?」みたいなことを聞いてしまった。
その時に面接官が顔が曇り、『この男は何を聞いとんのじゃ!』みたいな顔をした。

もちろんテストなので単語の意味を聞くのはご法度で、十数年ぶりの自己嫌悪で悶々とした日々が続いたが、今日の速報を見ると無事に合格していた。あぁ~本当によかった。

IT系の資格試験の場合は合格でも不合格でもなんとも思わないのだが(なぜなら実際に仕事をしていく上で資格が役にたったことは一度もないので)、英検の場合は本当にうれしかったです。次回もストレスに負けないようにテストに臨もう。
2010-07-20 | コメント:0件

眼精疲労なのでブログを読みやすくした

2か月程前になりますが、どうも目の調子が悪く眼鏡を変えました。少し度を弱くしたのですが、調子が戻り一安心していたのですが、最近、また調子が悪くなったようで、一部見えなくなった(しばらくすると見えるようになる)ので、慌てて眼科に行きました。
検査では異常が見当たらずお医者さん曰く『眼精疲労』ではないかということで目薬をもらいました。
確かに眼精疲労のようで、目薬をさすと一発で治りました。ただ、根本的にどうも目が疲れているようで、大事にしないといけないようです。

という訳でもないですが、ブログのページを変えました。コードを読みやすくしました。
今から思うと前のデザインは、やっつけ感いっぱいでした・・・。
2010-07-14 | コメント:0件

freshmeat

ADPの布教活動の一環ですが、freshmeatというソフトウェアの告知サイトがあったので登録しました。
ADP | freshmeat.net
freshmeat自体は、オープンソースへの参加は難しくない(5)作ってみる 前編 で知りました。freshmeatのサイトは英語が使われているのですが、なかなか親切なサイトで、以下のように私のつたない英語を修正してもらえました。

『ADP (Another Data Processor) is a programing language is designed for Web database programing. It is a scripting language and a lightweight programming language in which it is possible to mix SQL easily. It is easy to install.』

ちなみに元の英文は・・・まぁやめましょう。
2010-07-12 | コメント:0件

未踏ソフトの説明会に行ってきました

ADPを開発する上で避けて通れないのが、『どうやって流行らすか?』になります。
もっとも、自己満足と言われようが何と言われようがADPの開発は続けますし使ってもいくと思うので、流行らなくてもという良いという考えもなくもないのです。
しかし、個人でやる開発ならそれでOKなのですが、人と仕事をする上ではこの手のこだわりが障害になったりしますし、この手の複雑なソフトウェアは広く動作させてフィードバックをもらうことが品質面からも重要になります。

要するにプロのエンジニア目線で考えると、自分が作った言語とは言えマイナーなプログラミング言語にかかわっているヒマはないということになるのですが、であればメジャーにすればよいということで『流行らそう』ということになりました。
もちろん、大前提として、流行らすに値する言語かということもありますが、そのあたりについてはまたの機会に書きます。

で、具体的に何をするねんって話になるのですが、色々考えているのですが、もちろんこのブログも布教活動の一環としてやっているのですが、その1つとして、未踏ソフトに挑戦するということがあります。ちなみにその後は、LLイベント(http://ll.jus.or.jp/)にパネリストとしてADPを布教することを目標にしております。

未踏ソフトですが、以前は2008年の下期に応募したのですが、残念ながら採択にならず、その後仕事が忙しくなったので応募していなかったのですが、今年はタイミングよく応募できそうです。
そのような訳でちょっと知らなかったのが、いつからか年齢制限(というか年齢での優遇)が35歳未満になったらしく、今年40の私としては、『いまさら応募するのもな~』という思いと、制度の趣旨が『人材発掘』つまり天才を発掘しようということらしく『じゃなんで俺を選ばないの?』という訳のわからん自信とが交錯し、どうするか迷う面があるのですが、とにもかくにも人から評価を受けるというのは非常に大事なことなのではあります。で決めかねています。

説明会の内容ですが、私的には面白い内容でした。単なる制度の説明だけでなくちょっと聞けない技術的な話もありましたので、たまにはこういうイベントに参加するのも良いものだと思います。これからもやるでしょうから未踏に応募する人は一度説明会に参加されることをお勧めします。
2010-07-09 | コメント:0件
Previous Page | Next Page