gRPC のストリーミング通信のステータスを取得する GetStatus メソッドは一度しか呼び出せません。一度しか呼び出さないように注意すればよいだけのですが、ラッパーや拡張メソッド形式の汎用処理を実装するときに少しはまりました。
2018年2月25日日曜日
2018年2月20日火曜日
クラスやメンバのスコープを広くしすぎない
クラスやプロパティ・メソッドのスコープは、それが利用される範囲に応じて適切に設定する必要があります。「Public にしておけばどこからでも参照できるから楽」という考え方は危険です。
※これは2013年に書いたものです。
※これは2013年に書いたものです。
2018年2月10日土曜日
gRPC 1.9.0 がリリースされていました
gRPC を使ったプログラムをデバッグ実行していると TaskCanceledException 例外が頻発するようになりました。VisualStudio のデバッグコンソールが例外ログで埋まる結果に。調べてみると、gRPC の Channel の内部で 1 秒ごとにタイムアウトが発生しているようです。
2018年2月8日木曜日
Catch 句を空にするのは例外をなかったことにすること
.NET Framework では例外の捕捉には Try-Catch を使用しますが、正しく利用されていないのをときどきみかけます。誤った例外処理は補足すべき例外を見逃したり、例外情報を取得できなくなったりする原因になります。
※これは2013年に書いたものです。
※これは2013年に書いたものです。
2018年2月1日木曜日
変数に Nothing をセットしてもリソースは解放できません
VB.net のソースコードを見ていると、使い終わった変数を解放するために Nothing を代入しているコーディングを見かけることがあります。これでは必ずしもリソースは解放されませんし、むしろリークの原因になります。Nothing を代入する意味を理解しておく必要があります。
※ これは2013年に書いたものです。 C# でも Nothing が null になるだけで全く同じです。
※ これは2013年に書いたものです。 C# でも Nothing が null になるだけで全く同じです。
登録:
投稿 (Atom)
paiza のスキルチェックをやってみました
いまさら感はありますが、 paiza のスキルチェックをやってみました。指定された時間内にコードを書いてユニットテストにかけ、その結果を基に評価を数値化してくれるというものですが、ゲーム感覚で空き時間を見つけて進めていこうと考えています。 どうやら時間が短いほど高い評価を得...
-
多くのコーディング標準では、グローバル変数は極力使用しないようにしてくださいと説明されています。 グローバル変数が推奨されない主な理由には次のようなものがあります。 どこからでも値を変更できてしまう 値が変更されたことを検知できない 値を変更する複数の処理を同時に実...
-
VB.net のソースコードを見ていると、使い終わった変数を解放するために Nothing を代入しているコーディングを見かけることがあります。これでは必ずしもリソースは解放されませんし、むしろリークの原因になります。Nothing を代入する意味を理解しておく必要があります。 ...
-
.NET Framework では例外の捕捉には Try-Catch を使用しますが、正しく利用されていないのをときどきみかけます。誤った例外処理は補足すべき例外を見逃したり、例外情報を取得できなくなったりする原因になります。 ※これは2013年に書いたものです。