C# / VB– category –
-
C# / VB
密結合を避けるための設計原則:継承ではなく委譲を活用したリファクタリング
ソフトウェア開発では、柔軟で保守しやすいコードが重要です。特に、継承による密結合はコードのメンテナンス性や拡張性を損なうことがあります。 本記事では、RPGゲームのキャラクター設計を例に、継承ではなく委譲を活用してスーパークラス依存による密結合を回避する手法を解説します。 C#を用いたサンプルコードを紹介しますが、他の言語... -
C# / VB
単一責任の原則とは?クラスの責務を整理して密結合を解消する設計方法
単一責任の原則(SRP)は、設計における基本的な考え方で、クラスに一つの責務だけを持たせることを目的としています。 本記事では、この原則を理解するために、サンプルコードを例に取り、単一責任の原則に沿ったリファクタリング方法を解説します。 主にC#のコードを使用しますが、他のプログラミング言語でも応用可能な内容です。密結合を... -
C# / VB
低凝集なコレクション処理をファーストクラスコレクションで最適化する方法
ソフトウェア開発において、コードの凝集性はメンテナンス性や可読性に大きな影響を与えます。特に複数のオブジェクトを管理するコレクション処理においては、凝集性の低い設計がバグの温床になることもあります。 本記事では、低凝集なコレクション処理の解決策として「ファーストクラスコレクション」を紹介します。 具体的なサンプルコー... -
C# / VB
ループ処理のネスト解消でコードの見やすさを向上させる方法|早期continueと早期breakを活用して条件分岐をシンプルに
ループ処理中に多くの条件分岐があるコードは、特に複雑な処理を行う場合、読みづらくメンテナンスが難しくなりがちです。 本記事では、RPGゲームのような例を用いて、早期continueやbreakを活用したシンプルで見やすいコードの書き方を解説します。 C#を例にしていますが、他の言語でも応用可能なリファクタリング手法です。コードの見やす... -
C# / VB
コードの可読性を高める!フラグ引数の解消とストラテジパターンの活用法
プログラミングでは、コードの可読性と保守性を高めることが重要です。特にフラグ引数は、メソッドが何をするかの意図を曖昧にし、読み手を混乱させやすい要因の一つです。 この記事では、フラグ引数の代わりにメソッドを分ける方法に加え、ストラテジパターンを活用することでコードの拡張性と柔軟性をさらに向上させる方法を解説します。 ... -
C# / VB
条件分岐の重複とネストを解決するポリシーパターンの活用法
この記事では、コードの可読性や保守性を向上させるための「ポリシーパターン」の活用方法を解説します。 特にRPGゲームのような場面で複数の条件分岐が発生するコードを例に、条件分岐の重複やネストの問題をどのように解決できるか、サンプルコードを使ってご紹介します。 本記事ではC#のコードを例に用いていますが、ポリシーパターンは他... -
C# / VB
複数のswitch文を集約し修正漏れを防ぐ!interfaceとストラテジパターンでコードを最適化
コードの保守性を向上させ、バグの発生リスクを抑えるには、冗長なswitch文の管理方法が重要です。特に複数のswitch文が散在するコードでは、修正漏れやメンテナンスの難易度が高くなります。 本記事では、RPGゲームのキャラクター攻撃処理を例に、switch文を集約し、インターフェースとストラテジパターンを活用して保守性と拡張性を向上さ... -
C# / VB
ネストした条件分岐を解決する!早期returnでコードをシンプルにする方法
コードの条件分岐が深くなると、読み手にとっての可読性が低下し、ロジックが複雑になりやすくなります。 特にRPGのようなゲーム開発では、キャラクターの状態やイベントの条件が複数あり、処理が複雑化しがちです。この記事では、ネストした条件分岐の解消に有効な「早期return」について学びます。 条件分岐のネストがもたらす問題とは 条... -
C# / VB
コードの可読性と保守性を向上させる!引数の数を減らすためのリファクタリング方法
プログラムの可読性や保守性は、引数の数が多すぎると低下することがよくあります。 コードを理解しやすく、再利用性を高めるために、引数を意味のある単位にまとめることが重要です。 本記事では、コードサンプルを使用し、引数を減らしコードの改善方法を説明します。これはC#の例ですが、他の言語でも適用可能な汎用的なリファクタリング... -
C# / VB
初期化ロジックの分散を防ぐ!低凝集を解決するファクトリメソッドの使い方
初期化ロジックが分散しすぎてメンテナンスが難しくなる、低凝集に陥るケースは、多くの開発者が直面する問題です。 本記事では、C#を例に、privateコンストラクタとファクトリメソッドを活用して、各オブジェクトの初期化ロジックを一箇所に集約する方法をご紹介します。 「悪い例」と「良い例」を比較しながら、他のプログラミング言語でも... -
C# / VB
リファクタリングで実現する高凝集なコード設計:静的メソッドの適切な活用法と回避ポイント
コードリファクタリングは、機能を変えずに内部構造を改善する手法で、保守性の向上やバグの予防に繋がります。その中で、staticメソッドの使い方は、コードの凝集度に影響を与える重要なポイントです。 今回は、staticメソッドの適切な活用法と、誤った使用が引き起こす問題点について詳しく解説します。 staticメソッドのメリットとデメリ... -
C# / VB
引数を使わずに結果を返す設計のすすめ:リファクタリングでコードの質を向上させる方法
引数を使わずに結果を返す設計は、リファクタリングやコードの改善において重要なテクニックの一つです。 本記事では、「引数で値を返さない」コード設計の良し悪しを解説します。このアプローチはC#に限らず、他の多くのプログラミング言語でも応用可能です。 引数を多用することで生じる問題点と、クラスを返すことによって得られる利点を... -
C# / VB
再代入を避けたコードで品質アップ!簡単で効果的なコード改善テクニック
コードの品質を上げ、メンテナンスしやすいコードを書くためには「再代入を避ける」ことが重要です。 本記事では、再代入がもたらすデメリットと、それを避けるためのコード改善方法についてC#のサンプルコードで詳しく解説します。 紹介するテクニックは、C#に限らず他のプログラミング言語にも応用可能です。シンプルで効果的な改善を目指... -
C# / VB
C#入門の究極ガイド: 初心者からプロへの道筋を完全網羅!
プログラミングの世界へようこそ!C#でのプログラミング学習を始めたいあなたをサポートします。 この記事では、これからC#の学習を始めるあなたに向けて、開発環境の構築から基本文法、独学での勉強方法、さらに学習が難しいときのサポート体制に至るまで、C#マスターへの道のりを全方位からサポートします。 この記事を通じて、初心者でも... -
C# / VB
C#プログラミング入門!C#基礎講座 全13章
この講座では「C#基礎講座」を初心者の方でも問題ないように初歩の解説から小テストや実践を通して解説します。 13章構成の講座になっていますので、気になっている内容がある方は以下の項目をタップして下さい。 ▼知りたい所から読む方はこちら▼ この講座について この講座では、C#言語の基礎を学んでいただき、C#を使ったプログラミ... -
C# / VB
C#入門講座 C#と.NET Framework 開発環境の構築 0章
この章では「C#」と「.NET Framework」について解説し、開発環境のセットアップを行います。 C#は、Microsoftが開発したオブジェクト指向言語で、.NET Frameworkは、C#などの言語を実行するためのランタイム環境です。この章では、C#と.NET Frameworkについて詳細に説明し、Visual Studioの環境構築方法や基本的な操作方法についても説明しま... -
C# / VB
C#/VB スピンボタンで数値を入力できるようにする方法
上下に三角のボタンの数値入力ってどうやって作るんだろう? スピンボタンといって、NumericUpDownコントロールで実装することができます。 ▲▼スピンボタンで数値を入力できるようにする ▲▼ボタン(スピンボタン)は、NumericUpDownコントロールをフォームに配置して実装します。▲▼をクリックをすることで数値の操作を行うことができます。 ... -
C# / VB
C#/VB 文字列に含まれる文字を確認する方法
文字列の中に指定の文字が存在しているか確認することってできますか? はい、Containsメソッドを使えば、文字列に特定の文字が含まれているかを取得できますよ。 Containsメソッドを使って任意の文字の存在を取得 StringオブジェクトのContainsメソッドを利用すると、文字列の中に指定文字が含まれているかを確認することができます。指定... -
C# / VB
LINQのZipで複数のコレクションを合体[C#/VB]
複数のコレクションをforeachで同時に扱いたいけどいい方法はないかな LINQのZipメソッドを利用することで、複数のコレクションを合体させて一度に処理することができます。 Zipで合体させる Zipメソッドを利用してコレクションを合体させるというのは、.netではあまり一般的ではないかもしれませんが、Pythonなんかではよく利用されている... -
C# / VB
C#/VB 例外が発生した場所を取得する方法
例外が発生した場所を取得するにはどうしたらいいですか? ExceptionクラスのStackTraceプロパティを使って例外が発生した場所を取得することができますよ。 StackTraceで例外が発生した場所を取得する ExceptionクラスのStackTraceプロパティを使って例外が発生した場所を取得することができます。 Exception.StackTrace StackTraceプロ...
