私はこのレクチャー ( http://www.youtube.com/watch?v=aAb7hSCtvGw&hl=nl ) を視聴しており、約 34 分で、スライドの箇条書きに「文書の状態空間を非常に慎重に」と記載されています。
状態空間とは なぜ「非常に注意深く」文書化する必要があるのでしょうか? 残念ながら、私が現在投稿しているマシンには音声がありませんが、スライド自体は私の学習に非常に役立ちます (音声があればさらに役立つでしょう)。
ありがとう
私はこのレクチャー ( http://www.youtube.com/watch?v=aAb7hSCtvGw&hl=nl ) を視聴しており、約 34 分で、スライドの箇条書きに「文書の状態空間を非常に慎重に」と記載されています。
状態空間とは なぜ「非常に注意深く」文書化する必要があるのでしょうか? 残念ながら、私が現在投稿しているマシンには音声がありませんが、スライド自体は私の学習に非常に役立ちます (音声があればさらに役立つでしょう)。
ありがとう
状態空間は可能な状態のセットです。この場合はオブジェクトです。
音声の中で、彼は基本的に、どの操作がどの状態で許可されているか、また操作がオブジェクトの状態を変更するかどうか (許可されている一連の操作が変更される) を文書化する必要があると言っています。彼は、これは可変オブジェクトにとって特に重要であると述べています。
彼は、これが問題となる API の例として Java の Date と Calendar を使用していますが、詳細には触れていません。
具体的な (しかし簡略化された) 例を挙げるために、TCP 接続を考えてみましょう。これには基本的に、開いているか閉じているかの 2 つの状態があります。閉じていると、それを介して何も送受信できないため、これらのメソッドの呼び出しは許可されません。
話者の言うことを言い換えると、オブジェクトが変更可能な場合、状態空間を文書化する必要があります。彼は次に、Java の Date and Calendar API がこの意味で不適切に文書化されていることに言及しています。
彼の言いたいことは、コードの状態を変更する可能性のあるすべての関数を文書化する必要があるということだと思います。また、これらの関数を呼び出すのに適した (または不適切な) 時期でもあります。read()
例、オブジェクト is の後で関数を呼び出しますclosed()
。