ドメインモデルを使ったオブジェクト指向プログラミングの設計/学習を支援します。
・コードレビュー
・トランザクションスクリプトからドメインモデルへのリファクタリング相談
・クラス設計の相談
・その他、C#、WPFに関連した技術的な相談
・その他のプログラミング相談
○あなたのコードはトランザクションスクリプトになっていませんか?
トランザクションスクリプトとは、C言語のような手続き型言語の考え方に基づいてコードを書くことです。
単にクラスを作っただけではオブジェクト指向にはなりません。C#やJavaなどのオブジェクト指向言語を使っただけで自動的にオブジェクト指向にはなりません。手続き的なプログラムの記述は、オブジェクト指向言語が提供する数々のメリットを奪います。しかしオブジェクト指向設計には、プログラミング入門書では教えてくれない専門知識が必要です。
正しいオブジェクト指向で書かれたプログラムは、クラスが適切にカプセル化されているため保守性、拡張性に優れ、効率的なプログラミングに繋がります。その手ほどきが少しでもできれば幸いです。
○手順
1. レビューして欲しいコードをご用意ください。1ファイルの場合はCS/ZIP、複数ファイルの場合はZIP圧縮してお送りください(VSのソリューションまたはプロジェクト全体だと嬉しいです)。GitHubの公開リポジトリをお送り頂く形でも対応可能です
2. 私がレビューします。レビュー結果、設計の提案はZIPでお送りします。レビューコメントはコード内に記述しますが、補助的な説明をチャットに投稿することがあります
3. ご質問があればチャットに投稿してください。私が回答したら終了です
○制約事項
・ご質問の数が多い、または難しいご質問が続いた場合、状況に応じてプランを打ち切らせて頂く場合がございます。あらかじめご了承ください
・実際に業務で使用しているコードの提出はご遠慮ください。ただし万が一提出いただいても、全ての提出や相談は他の人からは見えないよう配慮し、適切な形で破棄いたします
・1000行を超えるコードはお断りさせていただくか、レビューして欲しいところを限定させていただく場合がございます
○可能な言語・フレームワーク
C#とWPFが強いです。C# 9.0 + .NET 5の組み合わせで回答可能ですが、ご指定があればそれ以前の言語バージョン・フレームワークでも対応いたします。
DLL作成、Behaviorについてのアドバイスも行える他、Prism、Rxなどについても少し話せます。
Unityは経験がありませんが、C#の一般的な文法の範囲内ならお手伝いできます。
Vue.js、TypeScript、Javaも扱えますが支援は限定的になる可能性があります。