1

プログラミングクラスの後輩向けにファイルの講義を準備中です。私が詳しく説明したいポイントの 1 つは、ファイルに関する優れた実践です。

プログラミング言語でファイルを使用する際に留意すべきことは何ですか?

4

10 に答える 10

4
  • ファイルには、それぞれが固定長であるか、区切り文字で終わるレコードのセットが含まれていると見なすことができます。

  • ファイルは通常、ランダムアクセスではなく、シーケンシャルアクセス用に最適化されています。ファイルの途中にデータを挿入するのは難しく、通常、ランダムに(「シャッフル」モードのCDのように)ファイルを線形に(カセットテープのように)処理するよりも高速です。

  • ランダムアクセスファイルには通常、固定長のレコードが含まれ、そのほとんどには空のスペースが含まれているため、シーケンシャルアクセスファイルよりも大きくなります。

  • ファイルは気質的で予測不可能な生き物です。長さの変更、非表示、アクセス許可の変更などが可能です。アクセスの合間には、操作を注意深く検証し、リターンコードを確認してください。

  • 最初から読み取り(テール)、最後に書き込む(ヘッド)場合、ファイルをバッファーとして使用できます。

  • バッファをフラッシュしてください!

まだ誰もそれを言うのが苦手ではなかったので、これはあなたの学生に主題のハンドルを与えるはずです。

于 2008-11-10T00:41:50.560 に答える
1

常にスクラッチモンキーをマウントします。

http://catb.org/jargon/html/S/scratch-monkey.html

于 2008-11-10T00:25:24.633 に答える
1

私は、ジュニア プログラマーの多くが直感に欠けているか、ファイルへのアクセス速度について誤った教訓を学んでいることに気付きました。

非常に新しいプログラマは、ファイルが非常に高速であり、バッファリングされていないファイルから一度に 1 バイトずつ読み取ることがなぜ悪い考えなのかを理解する助けが必要であると想定しています。同様に、ディレクトリ情報へのアクセスは非常に遅くなる可能性があるため、可能であればキャッシュする必要があります。

残念ながら、一部の経験豊富なプログラマーは間違った教訓を学び、すべてを常に RAM にキャッシュする必要があるか、遅すぎると思い込んでいます。最新のオペレーティング システムには非常に高度なディスク キャッシュがあるため、ファイルの同じ部分に 2 回目にアクセスすると、大幅に高速になる場合があります。

最後に、対話型プログラムはすべてのファイル操作を別のスレッドで実行する必要があります。これにより、ディスクがビジー状態のときやリモート ボリュームが一時的に利用できないときに、アプリケーションのクロールが遅くなったり、動作が停止したりすることがなくなります。

于 2008-11-10T06:08:18.107 に答える
0

サーバー側または同時実行コードを記述している場合は、ファイルロックに細心の注意を払ってください。少なすぎるとデータが破損し、多すぎるとアプリがデッドロックします。

于 2008-11-10T01:18:40.360 に答える
0

ファイルは常に安全ではありません

他の入力と同様に、ファイルはセキュリティリスクを高める可能性があります。さらに、古いアプリケーションによって作成されたか、エンドユーザーが自分で変更しようとしたために、形式が正しくない可能性があります。

そのようなファイルを完全に無視するか、できるだけ多くを取得して残りを破棄します。

于 2008-11-10T00:18:52.040 に答える
0

終了したら、必ずファイルを閉じて、すべてのリソースを破棄してください。

バイナリファイルで読み取りバイナリを使用し、テキストファイルで読み取りを使用します。(テキスト構造のバイナリファイルを読み取っていて、ファイルの中央に^ Zが含まれているために、コードがファイル全体を読み取れなかった人を支援した回数を思い出せません)。

于 2008-11-10T00:19:10.340 に答える
0

行う:

  • 一時ファイルが不要になったら削除します

しないでください:

  • ユーザーディレクトリ(マイドキュメントなど)にランダムなファイルを作成しないでください。そのための一時/プログラムフォルダを使用してください
  • 機密情報をプレーンテキストファイルに保存しないでください
于 2008-11-10T00:20:19.480 に答える
0
  • 書き込みごとにフラッシュしないでください。
  • 小さな書き込みと読み取りを行うことについて心配する必要はありません。OSはこれらをバッファリングするのが得意です。独自のバッファリング方式を再発明しようとしないでください。最良の場合、何もしません。最悪の場合、OS が行うバッファリングに対して実際に機能します。
  • 何千ものファイルを含むディレクトリを作成しないでください。
  • 変更がある場合、人間はデータを確認または編集する必要があります。人間が読めるものであることを確認してください。
  • 独自のフォーマットをプルすることを検討する前に、XML について検討してください。
于 2008-11-10T06:01:11.960 に答える
0

Vista のプログラム ディレクトリには新しいアクセス許可が含まれているため、ファイルを作成するプログラムを Vista にインストールすると問題が発生する可能性があります (修正は簡単ですが、面倒です)。

于 2008-11-10T02:01:21.617 に答える
0

使い終わったら忘れずに閉じてください。

于 2008-11-10T00:16:29.237 に答える