コード スニペットを使用するためのベスト プラクティスBest practices for using code snippets

コード スニペットのコードは、最も基本的な処理方法のみを示しています。The code in a code snippet shows only the most basic way to do something. ほとんどのアプリケーションでは、そのアプリケーションに合わせてコードを変更する必要があります。For most applications, the code must be modified to suit the application.

例外処理Handling exceptions

通常、コード スニペットの Try…Catch ブロックは、すべての例外をキャッチして再スローします。Typically, code snippet Try...Catch blocks catch and rethrow all exceptions. これは、プロジェクトにより適していない場合があります。That may not be the right choice for your project. 例外ごとに、対応方法はいくつかあります。For each exception, there are several ways to respond. たとえば、「方法: try/catch を使用して例外を処理する (C#)」や「Try...Catch...Finally ステートメント (Visual Basic)」を参照してください。For examples, see How to: Handle an exception using try/catch (C#) and Try...Catch...Finally statement (Visual Basic).

ファイルの位置File locations

ファイルの位置をアプリケーションに採用する場合、次の点を考慮する必要があります。When you adapt file locations to your application, you should think about the following:

  • アクセス可能な場所を見つけます。Finding an accessible location. ユーザーはコンピューターの Program Files フォルダーにアクセスできない可能性があるので、アプリケーションのファイルと共にファイルを保存してもうまくいかないことがあります。Users may not have access to the Program Files folder of the computer, so storing files with the application files may not work.

  • セキュリティで保護された場所を見つけます。Finding a secure location. ルート フォルダー (C:\) にファイルを保存するのは安全ではありません。Storing files in the root folder (C:\) is not secure. アプリケーション データの場合は、Application Data フォルダーをお勧めします。For application data, we recommend the Application Data folder. 個々のユーザー データの場合は、アプリケーションで Documents フォルダーに各ユーザーのファイルを作成できます。For individual user data, the application can create a file for each user in the Documents folder.

  • 有効なファイル名を使用します。Using a valid file name. OpenFileDialog コントロールと SaveFileDialog コントロールを利用し、無効なファイル名の可能性を減らすことができます。You can use the OpenFileDialog and SaveFileDialog controls to reduce the likelihood of invalid file names. ユーザーがファイルを選択してから、コードがファイルを操作するまでの時間に注意してください。その間にファイルが削除されることがあります。Be aware that between the time the user selects a file and the time your code manipulates the file, the file may be deleted. また、ユーザーはファイルに書き込みアクセス許可を持っていない可能性があります。In addition, the user may not have permissions to write to the file.

セキュリティSecurity

スニペットのセキュリティは、ソース コードで使用する位置と、コード内でどのように変更するかによって変わります。How secure a snippet is depends on where it is used in the source code and how it is modified once it is in the code. 次の一覧は、考慮する必要がある点の一部です。The following list contains a few of the areas that must be considered.

  • ファイルおよびデータベースのアクセスFile and database access

  • コード アクセス セキュリティCode access security

  • リソース (イベント ログ、レジストリなど) の保護Protecting resources (such as event logs, registry)

  • シークレットの保存Storing secrets

  • 入力の検証Verifying inputs

  • データをスクリプティング テクノロジに渡すPassing data to scripting technologies

詳細については、「Securing Applications」 (アプリケーションのセキュリティ保護) を参照してください。For more information, see Securing applications.

ダウンロードしたコード スニペットDownloaded code snippets

Visual Studio でインストールされる IntelliSense コード スニペット自体は、セキュリティ ハザードではありませんが、IntelliSense code snippets installed by Visual Studio are not in themselves a security hazard. アプリケーションのセキュリティ リスクになる可能性があります。However, they can create security risks in your application. インターネットからダウンロードしたスニペットは、他のダウンロードしたコンテンツと同様に、十分に注意して扱ってください。Snippets downloaded from the Internet should be treated like any other downloaded content - with extreme caution.

  • 信頼しているサイトからのみスニペットをダウンロードし、最新のウイルス対策ソフトウェアを使用します。Download snippets only from sites you trust, and use up-to-date virus software.

  • ダウンロードしたすべてのスニペット ファイルはメモ帳または Visual Studio の XML エディターで開き、よく確認してからインストールします。Open all downloaded snippet files in Notepad or the XML editor of Visual Studio and review them carefully before installing them. 次の問題がないか確認します。Look for the following issues:

    • スニペット コードを実行した場合にシステムが破損する可能性があります。The snippet code could damage your system if you execute it. ソース コードをよく読んでから実行してください。Read the source code carefully before running it.

    • スニペット ファイルのヘルプ URL ブロックには、悪意のあるスクリプト ファイルを実行する URL や、不快感を与える Web サイトを表示する URL が含まれている可能性があります。The Help URL block of the snippet file can contain URLs that execute a malicious script file or display an offensive Web site.

    • スニペットには、プロジェクトに自動的に追加され、任意の場所からシステムに読み込まれる参照が含まれている可能性があります。The snippet may contain references that are added silently to your project and may be loaded from anywhere on your system. このような参照は、スニペットをダウンロードしたコンピューターにダウンロードされている可能性があります。These references may have been downloaded to your computer from where you downloaded the snippet. また、スニペットから、悪意のあるコードを実行する参照内のメソッドを呼び出す可能性があります。The snippet may then make a call to a method in the reference that executes malicious code. このような攻撃から保護するには、スニペット ファイルのインポート ブロックと参照ブロックを確認します。To protect yourself against such an attack, review the Imports and References blocks of the snippet file.

関連項目See also