2章アルゴリズムのコーディング

 開発者は日々コードを作成し、解決すべき問題について検討し、アルゴリズムが正しく機能しているかどうかを確認する作業に追われています。これがあるべき姿であり、モダンなツールやソフトウェア開発キット(SDK:Software Development Kits)のおかげで、ますますこの作業に費やす時間が増えてきています。とはいえ、効率や性能、メンテナンスに大きな影響を与えるようなC#あるいは.NETの機能や、汎用のコーディング方法などがあることも確かです。

性能

 本章におけるいくつかの項目では、文字列の効率的な処理方法や、データのキャッシュ、必要になるまで型の初期化を遅延させる方法など、アプリケーションの性能に関係する話題を取り上げます。単純なシナリオではたいした問題にはならないものですが、複雑で高性能かつ高スケーラビリティが要求されるようなエンタープライズ級のアプリケーションの場合、これから紹介するテクニックを活用することにより、製品上で起こる性能的な問題を回避できるようになります。

メンテナンス性

 コードの整頓の仕方は、メンテナンス性に大きな影響を与えます。1章 型とアプリケーションの構築の解説で紹介している新しいパターンおよび戦略を理解することにより、アルゴリズムを単純化し、アプリケーションの拡張性を向上させることができるようになります。また、別の節では階層構造を持ったデータを再帰的に処理する方法についても解説します。これらのテクニックを身につけておき、アルゴリズムに対する最適な手法を検討することによって、コードのメンテナンス性や品質を劇的に向上させることができます。

マインドセット

 本章にあるいくつかのセクションは、特定の分野を対象にして効果を発揮するもので、別の視点から問題を解決するための手段を紹介しています。日常的に正規表現を使用することは少ないでしょうが、必要になった場合には非常に有効です。別のセクションでは.NETがクロスプラットフォーム対応の言語であることから、UNIX時間の相互変換を説明していますが、以前は考慮の必要がなかった環境固有のアルゴリズムといった特定のマインドセットが必要になっていることについても言及しています。 ...

Get C#クックブック ―プロフェッショナル開発者のためのモダンレシピ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.