私は最近、Komodo Edit やその他のより単純なエディターを使用して Python で作業していますが、現在は VS 08 を使用して C# で実行するプロジェクトを行っています。そのプラットフォームでできるだけ早く生産性を高める方法についてのヒントをいただければ幸いです。
11 に答える
C#に習熟する限り、C #とC#を詳細にプログラミングすることを強くお勧めします。
Visual Studioの場合は、IDEを何度も調べて、遊んで、慣れてください。簡単なプロジェクトから始めて、さまざまな側面をすべて調べてください。Visual Studioを最適化する方法を学び、IDEの優れたキーボードショートカット/隠し機能のいくつかに慣れてください。
次のそれぞれを少なくとも1回は必ず実行してください。
プロジェクト:
- 簡単なコンソールアプリケーションを作成します(例:hello world)
- クラスライブラリ(マネージ.dll)を作成し、作成した別のアプリケーションから使用します
- 簡単なWindowsアプリケーションを作成する
- 単純なasp.netWebアプリを作成します
デバッグ:
- コマンドラインアプリをデバッグする
- ブレークポイント、ローカルウィンドウ、ウォッチウィンドウ、ステップオーバー、ステップイン、ステップアウト、続行、デバッグの停止について理解します。
- クラスライブラリの関数を使用するコマンドラインアプリを作成します。ライブラリのdllとシンボルファイル(.pdb)を保存しますが、ソースコードを削除し、ライブラリに入るときにアプリを介してデバッグします
- Webサービスにデバッグする
- ILDasmとILAsmの使用方法を学ぶ
コマンドライン:
- VisualStudioのコマンドライン環境に慣れる
- コマンドラインのみを使用してビルドする
- devenv.exe/debugexeを使用してコマンドラインからデバッグします
- コマンドラインからILDasm/ILAsmを使用して、単純なアプリを.ILに分解し、別の名前のファイルに再アセンブルし、テストして、引き続き機能することを確認します。
テスト:
- 単体テストを作成します(メソッドを右クリックし、テストを作成するオプションを選択します)
- 方法を学ぶ:すべての単体テストを実行する、デバッガーですべての単体テストを実行する、失敗した単体テストを再実行する、テストの失敗の詳細を確認する、単体テストのサブセットを実行する
- テストのコードカバレッジ統計を収集する方法を学ぶ
ソース管理:
- VSを使用して開発しながら、選択したソース管理システムと対話する方法を学びます
リファクタリング他:
- 組み込みのすべてのリファクタリング(特に名前の変更と抽出メソッド)に精通する
- 「定義に移動」を使用
- 「すべての参照を検索」を使用する
- 「ファイル内検索」を使用する(ctrl-shift-F)
IDEとキーボードショートカット:
- WebおよびWinFormでデザイナーをうまく使用する方法を学ぶ
- ソリューションエクスプローラーウィンドウに精通する
- 快適なウィンドウレイアウトが見つかるまでさまざまなウィンドウレイアウトを試してみてください。後で実験を続けて、それがまだ最良の選択であるかどうかを確認してください。
- インテリセンスの詳細を学び、可能な限り活用してください
- あなたがするすべてのキーボードショートカットを学ぶ
個人的には、まず C# と .NET の両方のコア部分を学ぶことに専念します。私にとって、それは (Windows フォームではなく) コンソール アプリを作成して、言語や IO などの重要な側面を試すことを意味します。基盤に満足したら、プロジェクトに必要な「周辺」テクノロジ (WinForms、WPF、ASP.NET、WCF など) に進みます。
本に関しては、C# 3.0 in a NutshellとAccelerated C# 2008の両方をお勧めします。リンクは私の本のレビューです。どちらも言語 + コア ライブラリをカバーしています。そもそも LINQ についてあまり心配する必要はありません。LINQ に取り組む前に、言語の残りの部分、特にデリゲートとジェネリックに慣れてください。その時点で、LINQ to SQL または Entity Framework の使用を開始する前に、しばらくの間 LINQ to Objects を試してみることを強くお勧めします。(一方、XML をまったく使用する必要がある場合は、LINQ to XML に直行します。これは単なる LINQ プロバイダーではなく、完全な XML API です。通常の DOM API よりもはるかに優れています。)
過去に完了した Python プロジェクトを選択し、手動で C# に変換します。これは、私が現在知っているすべての言語を習得した方法です (x86 アセンブリを除く)。
IronPython を使用してギャップを埋めることを検討してください。IronPython を介して .NET アセンブリを参照したり、C# から参照する .NET アセンブリを作成したりできます。
また、Learn C# in 21 Days には近づかないでください。本...それらは誇大宣伝に応えることはほとんどなく、通常、良いことよりも害の方が多い.
そのプラットフォームでできるだけ早く生産性を高める方法についてのヒントをいただければ幸いです。
私の友人の実践的な経験。できるだけ早く使用を開始して、できるだけ早く生産性を高めてください。
いくつかの明白な推奨事項は次のとおりです。
- 頻繁なアクションのショートカット\マクロ\テンプレートを作成します。メニューをクリックする代わりにショートカットを強制的に使用する
- ReSharper をインストールすると、生産性が 1000% 向上します (数ドルで購入できる場合)。
そして、時々マニュアルを調べることを躊躇しないでください:)
私は、PythonからC#への移行を、進化のはしごを降りるステップとして見ています。はるかに冗長なエクスペリエンス(変数宣言やクラスプロパティなど)を期待してください。
IronPythonに注目してください。使い慣れた言語を使用して.NETの感触をつかむのに役立ちます。Pythonの動的な性質により、.NETの動作のチェックは、C#でのアイデアのチェックよりもはるかに高速になります。IronPythonは、 IronPythonStudioを使用してVisualStudioから直接使用できます。
優れた本を手に入れて読み始めましょう。私はPro C# 2008 と .NET 3.5 Platformを持っています。
取り組むべきプロジェクトがあるので、それも大いに役立つはずです。
Python から C# への移行
通常、次の言語は、その機能を既に知っている言語と比較することで学習します。Python に精通しているので、「C# に関する Python プログラマーの視点」や「C# 3.0 は独自のゲームで動的言語を打ち負かすか?」などの Python/C# の比較を読んでください。. C# 3.5 と Python の差はそれほど大きくありません。
小さなミニプロジェクトを行います。頭のてっぺんの一部。
1) ハローワールド
2) コンソール
3) GUIデザイン
4) トイプロジェクト
チュートリアルを読むよりも速く習得できます。ビールを飲んで楽しんでください。
Microsoft には、このための優れた学習プラットフォームがあります。
http://msdn.microsoft.com/en-us/vcsharp/aa336766.aspx
「How do I」ビデオ シリーズをご覧になることをお勧めします。
これはいくつかのことに依存すると考えます。たとえば、マウスよりもキーボードを使用しますか? もしそうなら、私はVSショートカットを学ぶでしょう。あなたはC#をまったく知っていますか?いくつかの本を読んでください。これが漠然としていることは承知していますが、やや漠然とした質問です。
練習、練習、練習、経験を積み、生産的になる。
すべてのツール、システム、言語などについて、生産性を高めるための最も簡単な方法は (少なくとも私にとっては)、Hello World から始めて、1 つのコマンドから必要と思われる次のコマンドにつまずくのではなく、背景を理解することです。
したがって、良い本 (Microsoft Press など) を購入するか、Microsoft MSDN と Technet にアクセスして、バックグラウンド情報をできるだけ多く読んでください。詳しいことは(本やインターネットで)後で参照できます。
さらに、生産性を高めるために、メーリングリスト、IRC、ユースグループなどに参加して、同じツール、システム、言語などを使用して、他の人の日常の問題について知識を得てください。
それから - 1、2 週間後に - プログラミングを開始します。
それは、新しい言語を始めるときにやりたいことではないことはわかっています。しかし、私にとっては、このアプローチが最もうまく機能しています。