全体的な答えは、多くの場合、かかる時間を計算するには複雑すぎる(または不可能である)ことです。
場合によっては、必要な作業量をより正確に見積もるために、より多くの計算時間を費やすことが問題になる場合があります(たとえば、コピーされるファイルのより適切な分析を行うか、より複雑な計算を適用して、シミュレーションを完了します)。
また、かなり不確定な場合もあります。システムが新しいプログラムをインストールしているとき、多くの場合、インストールされていることを確認するために多くの依存関係があります。そして、一般的に、それぞれにかかる時間、およびそれらが次に必要とする可能性のある依存関係についての考えはありません。すべての依存関係が既にインストールされていて、30秒かかる場合もあれば、数十が不足していて数時間かかる場合もあります。特に、それぞれの状況が異なる場合には、公平な球場を与えるのは難しい。
さらに、システム上の他のドレインは、時間の経過とともに変化する可能性があります(ユーザーが何を行っているか、またはバックグラウンド/スケジュールされたプロセスのため)。
場合によっては、プログラマーがもう少し作業を行うと、見積もりが改善されることがあります。しかし、アプリケーションが実行できる実際の生産的なタスクを促進することと比較して、これがおそらくほとんどの開発者の最大の関心事ではないことは別の現実です。
結局のところ、今のところ、それはかなり頻繁に単なる線形推定であると思います-必要な基本タスクのいくつがプログラムを完了したかを見てください。ですから、それは確かに非常に大まかな見積もりになる傾向があり、一般的にはそのようなものとして考えるべきです。
本を読んでいるときが良い例です。
そして、
あなたはあなたが本を完成するのにどれくらいの時間がかかるかという考えが欲しいと決めました... あなたはページ数をチェックして、これまでのペースに基づいて簡単な見積もりを得ることができます。
読み始めたばかりの場合は、速度がまだ一般的ではない可能性があるため、これは不適切な見積もりになる可能性があります。しかし、かなり大まかな推測になることがよくあります。
または、本を読み飛ばして、画像の数とテキストの間隔の大まかな考えをつかむこともできます。そして、あなたが直面しているものについてのより良い考えを持っています。
しかし、たとえば、テキストの可読性が低下し、おそらく単純な文章から複雑な文章に移行する場合、それはまだ不十分な見積もりである可能性があります。または、注意をそらす別のタスクを予想できなかったために、見積もりが間違った方法で終わる可能性があります。
かなりの時間をかけてページごとに本に残っているものを注意深く分析することにより、すばらしい見積もりを得ることができます。同様に、カレンダーを確認し、さまざまな本の長期の過去の読書ペースのリストを保持することによって、同様にそれを改善することができます。
しかし、結局のところ、本を読むだけの遅延に見合うだけの時間がかかるのでしょうか。
私たちは皆、より良い指標を望んでいます。しかし、現状では、少なくともコンピュータ全体が標準化されたアルゴリズムの改善を開始し、「インテリジェントに」計量および動的な要素(方法など)を予測できるようになるまで、大まかな見積もりを行う必要があります。
そして、その上の進行状況バーは、おそらく現在5%でスタックしています。それがどうなるかを確認する必要があるだけです8-)