2006-09-01から1ヶ月間の記事一覧
以前に述べたバグの原因それぞれについて 実装段階でのバグを減らすTipsを挙げます。 怠慢によるバグ エラー処理を確実に行いましょう。関数を呼び出したら必ず戻り値をチェックするようにしましょう。 エラー処理が面倒であれば、例外処理によるエラーモデ…
バグを減らすには、設計時に以下のことを気をつけます。 コンポーネント数を極力減らす 同様の機能を持ったコンポーネントを作らない コンポーネントの機能を限定する コンポーネント間の依存度を極力下げる コンポーネント間のインターフェイスは簡潔に 置…
この間の続きです。
怠慢によるバグ これはエラー処理をサボったり、制約条件を きちんと記述しないことが直接的な原因である。 実装・設計期間が十分にとられているにも関わらず、 この手のバグが消えることはない。 その理由の一因として、エラー処理の煩雑さや、 契約プログ…
バグの原因の多くは、実装者の不注意から出る。 が、必ずしもそれだけというわけではない。 実際の開発を行う中では、仕様が明確でないケースや、 情報伝達の不備によるバグ発生などのケースが存在する。 ここではそれら雑多なケースは除外し、 実装者が作り…
仕事でなんかプレゼンしてとか言われたんで、 バグを作らないための方法ってテーマでやってみる。 んで、そのためのメモというかちらしの裏。
日記更新スローペース停滞中。 まったり更新モード。
引数とか変数名にa,b,c,dとかつけるのはやめてください。・゚・(ノд`)・゚・。 まじで勘弁。 関数シグネチャ見ただけでどんなパラメータを渡すのか、 それが変更されるのかどうかくらいわかるようにしてくれーウワァァァァァァヽ(`Д´)ノァァァァァァン! 10年前のC言語ソースを移植とか…
じゃあ残りの5年間は何してたの?」と言われるような気がするのはσ(・ω・)だけだろうか? 私は高専卒で職業プログラマになりました。 高専時代、入学当初からC言語のプログラミングをはじめ、 3年目にはC++を習いましたね。 学生であった5年間に授業・プライ…
たしかに前提がたくさん抜けている状況なので、 これ以上の議論をするには境界条件を定めないとまずそうですね。 ちなみにこの日記では特に1次ソースとかは参考にしていません。 というのも自分の経験から感じることをそのまま書きたいってのと、 単純に調…
id:fkmさん、id:tsugeharaさんトラックバックありがとうございます。 あえてコメント等はせずにエントリーという形で追記させてもらいます。 (昨日の日記に付け足すと長くなっちゃうんで)
id:fkm:20060907のエントリ。 ソフトウェア関係に就職する場合、C言語の最低のラインはどのあたりまで知識としてもっておく必要があるのだろうか?ポインタと構造体と配列がわかっていれば十分なのだろうか、それともまだまだ上なのか…? 実際に働いてみる…
あえて言語化するなら、技術屋がトップにいる企業と、コンサルがトップにいる企業で全然違うということ。 人材派遣系の会社は技術を求めてないし、パッケージ開発している会社は技術がなければ話にならない。 企業がどのように考えるかは、↑以外にも、企業の…
ソートにもいろいろあるんですよ。 単純な挿入ソートからバブルソートやマージソート、 ヒープソートに基数ソートにクイックソートなどなど。単純な計算量の違い以外にも安定なソートかどうかや、 メモリの使い方やら、データ構造による制約などなど。 それ…
単純に可変長のデータを追加して保持しておくためだけであれば std::listやstd::dequeなどの可変長コンテナを使うよりも、 std::vectorの方が速度的にも有利だし、 なによりコードをぱっとみてそう使うというのが一目で判る。 クラスのメンバー関数の一つを…
ソートしたいがためだけにstd::listを使っているという ちょっとどうなのよっていうプログラムを見たんでちっと書いてみる。