同じ目的でも技術力によってやりかたが千差万別・・・・(´д`ι)
リトライについてあれこれ
こんばんは。
キテレツです。
C#でDBアクセスやディスクアクセスに失敗した場合に、何度かリトライしたい場合の書き方について悩みました~。
知っていれば簡単な事なんでしょうが、Google先生に聞いたらアレコレ沢山選択肢があって、どれがいいのやら。
いや、それよりも、、、
キテレツが理解できていなければマズイ・・・(・∀・i)タラー・・・
のですよ。
デリゲートで汎用的にとか言われても、、
なんのこっちゃ???(´д`ι)
な状況なので、自分がメンテする気持ちで作ります。
回数指定でリトライなコード
こうしました。
// 100回リトライ for (int i = 0; i < 100; i++) { try { [A] break; // [A]が成功した場合、for を break する } catch (Exception ex){ LOG.Error(ex.Message, ex); LOG.Errorformat("Try Time: {0}",i); } }
雰囲気はこんな感じ。
リトライ処理させたい部分全てにfor・・・とか書かなきゃいけませんが、まぁ、しかたがないかなと。
※これを汎用的にするためにデリゲートであれこれって発想なんだとは思うんですが、いまいちりかいできず・・・orz
そんなに該当箇所は多くない!!(*´∀`)ノ
ので、これで行きます。
ソフトの書き方とか
気にしなければいけない状況があります。
キテレツが作るソフトですが、後々は別の方がメンテナンスすることになっています。
なので、その方に合わせたコーディングルールで書く必要があります。
クラスの作り方とかコメントの書き方とかアレコレと。
コーディングルールについての鉄則は、
郷に入れば郷に従え!!(*´∀`)ノ
ですね。
たまに、コーディングルールに並々ならぬこだわりを持って戦う人を見たことがありますが・・・・
キテレツは基本的に相手に合わせます。
※あまりにも酷い場合は別ですが(^_^;)
こんな感じで、本日はエラー処理と動作テストと、、、あ、、あとメッセージを飛ばす部分を作ったのでちょっと楽しかったですね♪
出来るようになったことを記憶する方法
を確立しておくことは大切だと、今更ながら感じました。
過去に作ったソフトやらやりかたについて、繰り返しやって覚えたことしか身についていない状態です。
例えば・・・分かる人にはわかりますが
Fanuc ロボドリルの加工プログラム(*´∀`)ノ
とかの経験有るんですが、まったく覚えていません。
たしか、原付きのエンジン部品を削りだす装置の座標データ生成プログラムだったんですが、、まったく覚えていません。
困ったもんです。。・・・(・∀・i)タラー・・・
なので、今回作るソフトは色んな要素を学ぶことができているので、
(*´∀`)ノ 「キテレツさん!!こんなのC#で作れる???」
って言われた時に思い出せる方法を確立して置かなければ。
方法とはいえ、、、、ReadMe.txt的なものしか思い浮かびませんが・・・w