5

不変条件の使用を強調する中級プログラミング コースを受講しています。私は以前にそれらを使用したことがなく、作成に時間がかかるようです. ソフトウェア エンジニアリング業界は、不変条件の使用を強調していますか?

4

3 に答える 3

12

あなたが誰に尋ねるかによります - 私が不変条件を使用するのは、単に生活が楽になるからです。不変条件を学ぶことは、ブラインドタイピングを学ぶことに似ています。不変条件を使用するたびに、コードについて詳しく知ることができます。不変式をループにコメントとして挿入すると、読者にとって非常に役立ちます。不変条件を使用すると、ソース コードの作成と保守がはるかに安価になり、保守可能なより高度なアルゴリズムを作成できるようになります。

また、OOP とは対照的に、不変条件を使用して時間を無駄にする人を経験したことはありません。

于 2009-11-07T09:10:22.087 に答える
8

私は不変条件についてはあまり考えていません - 事前/事後条件ほどではありません。正直に言うと、おそらく不変式についてもっと考えるべきです。

考慮すべきことの 1 つは、不変性です。OO 言語を使用しているが、できる限り型を不変にする場合、不変条件についてそれほど心配する必要はありません。状態が最初から有効であれば、有効なままになります。

あなたのコースは不変条件を少し強調しすぎているように聞こえますが、それはあなたが何をしているかによって異なります。状況によっては、他の状況よりも適切です。おそらく、あなたの講師は、それらが本当に役立つ分野で多くの経験を積んでいるだけの大ファンです.

于 2009-11-07T09:09:43.260 に答える
3

不変条件とは何か、またその意味を理解すると、コードについての推論方法が変わる傾向があります。つまり、明示的な不変条件を書くことはめったにありません。しかし、私は自分が書いているコードの不変条件のイメージを頭の中に持っていることがよくあります。これにより、はるかに単純なコードを書くことができます。ほとんどの場合、コードは非常に単純なので、不変条件について明示的なコメントを書く必要はありません。それでも、不変条件について知らない人は、はるかに複雑なコードを書きます :)

于 2010-08-06T21:45:21.297 に答える