love! LOVEHINA - love2hina.net
メニュー



アーカイブ
2010/06/12 SEのプログラムスキルレベルアップ!?

作成者: カテゴリー: 未分類

今日はちょっと愚痴混じりのまじめな話。

今の仕事は別の会社が作成したプログラムの改修・保守をしているのですが、
それが改修を行うと、必ず潜在不良が見つかるという品質・保守性の悪さに工数は爆発的に増加。

原因は、元々の担当者が今まで業務プログラムしか経験がなかったのが、
突然一般パッケージソフトを担当したことかと思っています。
そこで、こんなことを避けるためのいくつかのポイントを挙げてみようと思います。

業務担当から、他の担当(基盤や一般パッケージ)を担当することになったアナタ、必見です(大嘘)

ポイント1 – 関数の戻り値はエラーコードを返すものじゃない

業務でよく使用される COBOL(85) は、エラーがあった場合、
プログラムの戻り値としてエラーコードを返すほか通知方法がありませんでした。
(※COBOL 2002では、構造化例外処理がサポートされましたので、厳密には今は違います。
ただ、COBOLで存在するプログラムは古くに作られたものをそのままストコンする場合が多いので)

COBOLの考え方をそのまま踏襲すると、関数は戻り値がエラーコードを示す、ということが多いのですが、
以下のようにその部品を使う呼び出し元の制御処理が煩雑で、処理フローが読みづらくなります。

int Proc(const char * arg)
{
   int intResult;

// 関数を呼ぶよ! intResult = funcA(arg); if (intResult != S_OK) { return intResult; }
// 次も! intResult = funcB(); if (intResult != S_OK) { return intResult; }
return S_OK; }
int funcA(const char * arg) { // 引数は正しい? if (arg == NULL) { return E_POINTER; }
// 何か処理…
return S_OK; }

C++やJava、Visual Basicなど最近の言語には構造化例外処理という仕組みがあります。
システムエラーとして扱うべきものは、この例外というものを使うようすべきです。

void Proc(const char * arg)
{

funcA(arg); funcB(); }
void funcA(const char * arg) { // 引数は正しい? if (arg == NULL) { throw clsNullPointerException(); }
// 何か処理… }

結果的に、関数の戻り値は正常値しか扱わなくなり、インターフェースがわかりやすくなります。
また、呼び出し側も条件分岐がなくなり、これは単体テスト工数の削減に大きく寄与します!

※注 サンプルコードは色々端折っています。

2010/06/06 カーセキュリティーと妹

作成者: カテゴリー: 未分類

自宅が一軒家ではないので、ガレージなんてものはありませんwwww
普通に駐車場を借りるので、車上荒らし対策もしっかりとね!

というわけで、カープロショップに相談してみた。

あと、キャンセル品が売ってたので、購入。

…というか、このブログ、異色すぎない? なにこの組み合わせwww

2010/06/06 壁紙

作成者: カテゴリー: 未分類

Bingのトップページの風景がそのままデスクトップのテーマとして配布されてたので、使ってみた。

悪くないかも。

2010/05/31 ave;new Glam -Crimson ReD Ver.-

作成者: カテゴリー: 未分類

・Pure My Voices
・Octave Rain

が昨日からヘビーローテ状態。

・Pure My Voices
発注内容が「true my heartのような感じで」であったことが容易に想像できる曲。
共通点は多いが、マンネリ化するほどこのパターンの曲が多いわけでもないので、許容範囲内かな。
むしろ、true my heartのような曲を待ち望んでいたタイプなので嬉しかったりする。

・Octave Rain
メロディーラインもそうだけど、全体が何となく、古めかしい印象…’90って感じ?
というと悪いように聞こえるが、そういった意味合いではなく、いつの間にか口ずさんでしまいそうな取っつきやすさがあると思う。

…と勝手に書いてみた。評論家でも何でもないけど。

2010/05/30 PIAA バルブ ぱーとつー とぷらすあるふぁー。

作成者: カテゴリー: 未分類

またまた引き続き、PIAAのHIDバルブが到着。今度はロービーム用。
意外に安かったので、AUTOBACS.COMで購入。

そういえば、オートバックスって、5ZIGENマフラーとかお願いすれば取り寄せとかできるものなのかな…?

納車時にディーラーに取り付けをお願いする予定ー。だめだったら、自分で付けるけど、光軸調整はお願いしないとどうにもならんw

毎月恒例、月末の購入はコレ。

今月は結果的に1本と控えめになりました。

2010/05/29 PIAA ハロゲンバルブ。

作成者: カテゴリー: 未分類

まだまだ納車は先なのに…
もう、ドレスアップパーツを買い始めてますwwww

…アホすぎる(゚∀゚ )w

今回はヘッドライトのハイビーム用にPIAAのハロゲンバルブです。

ロービームがHIDなだけに、純正のハイビームバルブだと黄色っぽさが目立つんですよね。

2010/05/22 CR-Z ホライゾンターコイズパールっ!

作成者: カテゴリー: 未分類

どーんっ!

…って、CR-Zの模型です。実車はまだまだ先…orz。Honda 公式グッズ販売から購入しました。

やっぱり、かっこいいー。個人的には特にヘッドライトあたりがお気に入り。

後ろもいいなぁ。(BGM: イイなぁ☆FEVERたいむ!! -イイなぁフルバージョン-)

どこからみても、たまんないっス。マジで。

ちなみに、ディーラーに置いてあるボディー色見本と同じですねw

…( ゚д゚)はっ!? このモデルにステッカーとか貼って痛車デザイン考えるのに使えるんじゃね!?(つかうな

2010/05/18 すげぇ! 自分自身初!

作成者: カテゴリー: 未分類

メインのクレジットカードの月支払額が10万以下…
こんなの初めてだ!

7万円台なんて…

物欲魔神の管理人はいつもカードで買ってしまうだめな人なのですw
でも、滞納はシタコトナイヨ!

2010/05/16 とりあえず、病気です…

作成者: カテゴリー: 未分類

休日は基本無気力状態…

5月病…というよりは、CR-Zが待ち遠しすぎて…

2010/05/05 ちょっと原点回帰?

作成者: カテゴリー: 未分類

久しぶりのオーテク製品購入レポです。AT-PHA10です。

中身はシンプル。本体と説明書のみ。

ATH-ANC3のノイズキャンセラーユニットより大きいです。
…ぁ、一緒にとっておけばよかったですね…。

ボタン類もそうなのですが、全体的に安っぽい作りなのが×。
というより、最近のオーテクは全体的に質感が落ちてますね…。
ATH-CM7の頃が一番まともだったなぁ…

X-Fi Xmodと、ATH-CK10で聴き比べ…といったところですが、眠くてあまりまともな感想が書けそうにないデス。

…ぽちぽち消化中。