疲れているとこんな実装をしてしまってはまる
今日は疲れていたようで以下のようなクソみたいな間違いに気づかないで30分くらい費やしてしまいました。 public class clsssName { private hoge _member = new hoge(); public className() { hoge _member = new hoge(); …
NAL-6295の記録
今日は疲れていたようで以下のようなクソみたいな間違いに気づかないで30分くらい費やしてしまいました。 public class clsssName { private hoge _member = new hoge(); public className() { hoge _member = new hoge(); …
デバグをするにあたって先入観を持ってはいけない。 先入観を持った状態でデバグをすると、多分、運が良くないと簡単な不具合にも無駄に時間を書けることになる。まだ、なにが原因か分かっていないのに、最初から決めつけてしまった場合、決めつけた範囲に不具合があるかどうかは博打みたいなものである。まだ、どこを調査するかを決めつけて …
下記のような、二つのコードがあるとする。 ケース1:配列を宣言してから代入する。 var sample = new string[3]; sample[0] = "abc"; sample[1] = "def"; sample[2] = "ghi"; ケース2:宣言時に要素も設定する。 var sample = …
仕様書を書くときでも、何も処理しない場合は、あえて、「何もしない」など と記述してますので、それがコーディングに反映している感じです。 仕様書と合わせる意味でも、わざわざ、Notを付けて、否定に書き換えたり しないですね。 例?? If IsExists() Then '何もしない Else
プロジェクトの過程でコーディング規約を決める。その後はシステムが運用に辿り着くまで変更しない。 このような環境が多数派だと思う。 しかし現実はミスマッチとか想定外な事が少なからずあり、コーディング規約を逸脱した例外的なものが許容される事がある。その割にコーディング規約に明文化されることはなく、あくまで例外という名の運 …
セキュリティを高めるために多分一番必要な事は、システム開発者にセキュリティを意識したコーディングをさせないという事だ。 セキュリティを意識したコーディングをするのはシステム開発者の役割ではなく、システム開発者が使うであろうフレームワークやプラットフォームを作成している者の役割なのだ。
通常匿名メソッドを実装する時は、宣言と代入が同じになるパターンが多い。 例えば、下記のコードのように。 public void 匿名メソッドで再帰() { Func<int, bool> カウントダウン = (x) => { if (x == 0) { return true; } …
以前、コードの10戒と題して、犬の10戒をまねしたコーディングルールを掲載しました。 しかし、若干カジュアルすぎるため仕事に適用するには文体を改修する必要があるかもしれません。 長いコーディング標準は、読むのも守るのもメンテするのも大変です。
問題:1からnまでの整数を二つの組に分けて合計した結果が同じだった2番目と3番目を出力する。 public void nまでの整数を二つの組に分けて合計した結果が同じだった2番目と3番目() { //Enumerable.Select().Sum()は使わない方向で Func<int, int, …
問題 4桁の数値を順序を逆転させた数値(例えば、5432の場合は2345が逆転させた数値)で割ったときに、割り切れる4桁の数を求めよ。 (つまり、5432 / 2345 が割り切れればよい) ただし、商が1のものや、割る数が4桁でないものは除外する。