本書は「リーダブルコード」という書籍で「C#で読みやすいコードを書く50の方法」を紹介しています。
Udemy
本書はUdemyという学習用プラットフォームで公開しているコースの書籍版です。動画で学びたい方は,ここからアクセスしてください。
オブジェクト指向含まず
内容は「オブジェクト指向」とかそういうことではなく,シンプルに「書き方をこうしたほうがいいですよ」みたいなやつを選りすぐって紹介しています。
だからオブジェクト指向的な内容は含んでいません。インターフェースとかデザインパターンとかそういうの使うとこういう感じでよくなるよみたいな書き方はいっぱいあるんですけど,そこまで含めると,情報が膨大になってまとまらないので,それは別の機会に解説することとして,本書には含めていません。
ですので,逆にオブジェクト指向が理解できていなくても,即効性があると思います。
本書には単純に「こう書いた方が確かに見やすよね」みたいなやつが,いろいろ出てくると思うので「オブジェクト指向あまりよくわからないな」っていう方でも読んでもらったら,いいと思います。とりあえずC#の文法は覚えたけどっていう感じの方にも理解していただける内容になっていると思います。
「テスト駆動開発」「ドメイン駆動開発」含まず
テスト駆動開発とかドメイン駆動開発などの内容も含んでません。
ですので,「プログラム設計」としていい書き方,というよりは「単純にこういう風に書いた方が分かり易い」という感じの内容になっています。
コーディングルール含まず
あと,別の書籍で「C#のコーディングルール」というのをものがあり,そこでは,スタイルコップライザーというツールを使って,マイクロソフトが定義している警告に引っかからないようにコードを統一していく書き方や,C#のコーディングルール全般を解説している書籍がありますが,その内容とも被らないようにしているので,基本的にはそういうコーディングルールは分かった上で,「こうしたこういう書き方がいいですよ」みたいな内容になっています。
あと注意点としては,本書の内容が「100%の正解ではない」という事。
こういうプログラミングの世界は,複数の書き方がある場合,どうしても100%の正解が出ないケースというのがあります。例えばコンパイルエラーになったり,実行時エラーになるのであれば,それは書いてはいけないコードという事が分かるし,チーム全体でもめることもないのですが,2つ以上の書き方があり,どちらも正常に動作する場合は,「保守性」「わかりやすさ」「パフォーマンス」「バグの混入確率」「テスト容易性」等を考慮して,より良い書き方を導き出すのですが,どちらも一長一短がある場合などは,誰にも決められないケースもあります。そういう場合は皆さんのチームで話し合ってもらったり多数決をとってもらったり,そういった感じで決めてもらわないといけない物もあります。そういう場合,本書では,私はこうしていますという感じで紹介しているので,「ここ背きたいな」という事であれば,背いてもらってもOKです。絶対的な正解ではないという事をご理解ください。
コードの判定区分
本書は下記の区分で,いいコードと悪いコードを表現しています。
- BAD:良くない書き方
- NOTBAD:別に悪くはない
- GOOD:いい書き方,推奨
「BAD」は良くない書き方なので,書かないでほしい物。GOODは書いてほしい書き方。あと,いい書き方ではないけど,ある程度仕方ない書き方というのも存在するので,「悪くはない」という感じでNOTBADという区別をしています。
基本的には,この3段階でコードを判定しながら解説しているので結構わかりやすいものができたと思っています。
実行環境
本書はWindows10上で動作するVisualStudio2022のC#にてサンプルプログラミングを行いながら解説しています。VisualStudio2019やVisualStudio2017,VisualStudio2015あたりでも同様の動作をすると思いますが,バージョン違いによるキャプチャー画面の違いなどは,考慮しながら読んでいただきたく思います。
また,ラムダ式が存在しないVisualStudio2005などでは動作しませんので最低でもVisualStudio2008以上を使っていただく必要がありますが,家で学習する際は,最新のVisualStudioが無料でダウンロードできるので,そちらを使用してください。皆さんが本書を読むころはVisualStudio2022やもっと新しいバージョンかもしれませんが,おそらく問題ないでしょう。
VisualStudioのインストール方法はYoutubeを参照してください。
VisualStudio2022のインストール方法はこちらの動画を参照してください