この本の最後のほうにまとまっていたのでメモ
ネーミング
Pascal形式
TomaSheep
Camel形式
tomaSheep
フィールド、引数、ローカル変数などの変数系にはCamel形式
それ以外はPascal形式
privateフィールド
流儀がある
private TomaSheep tomaSheep;
private TomaSheep _tomaSheep;
private TomaSheep tomaSheep_;
private TomaSheep m_tomaSheep;
public static TomaSheep TomaSheep;??
何を表すものかわかりやすく
currentDate
numberOfMember
MembersCount
Registeruser
ReadLine
bool
isEmpty, isBackground canSave canExecute hasChildren
done found success enabled created exists
printFlagとかflagを入れない。
boolを返すメソッド
isEndOfMonth IsLocalURL
コメント
コードから読み取れない情報を書く
アルゴリズムの出典URL、バグ回避のコードなど
適切な変数名メソッド名を付けたらコメントが必要なくなることも多い。
9割のプログラマーはコメント無くても解読できるような品質の高いコードを書けないので、こういうのを真に受けられると困るな…
— がむ (@gam0022) June 29, 2019
プロジェクトの程度の規模にもよるけど、プログラムを書く時間より読む時間の方が長いので、ちゃんとコメントは書いてほしいです…https://t.co/wWtFqSHjD4
不要なコードは消す
XMLコメントという、インテリセンスに自分で説明を表示できるようになるコメントがある。
/// <summary>
/// エンド画面を表示する
/// </summary>
/// <returns>
///点数を指定
/// </returns>
指針
スコープは短く
変数は利用される場所の近くで宣言初期化
マジックナンバーを使わない
謎の数値。
変更される可能性がない定数はconst,あるものはstatic readonlyだって。
static readonly int MaxTomatoCount=10;
浮動小数点
浮動小数点型(double、float)は2進数だから10進数の切りのいい数字0.1を表せない。
浮動小数点の変数をsum==1.0などと比較するのは危険。
unityでもその話やってたな
Unityというより浮動小数点の仕組みが原因なので、仕様だと思って諦めましょう… https://t.co/F488700pAQ
— がむ (@gam0022) June 3, 2019
decimal型というのがあるらしい。
ネストは浅く
ネストとは入れ子のことだって。
for文の階層などを深くしてはいけない
boolの代わりにintを使わない
はい。
メソッドは短く単機能に
はい!
20行以内目安
50行越えたらヤバイ
メソッドの引数は3つ以内
いっぱい必要な時はオプションパラメータ用のクラスを定義する
フィールドは公開しない
公開する場合はプロパティ。
プロパティってなんだ。
Obsolute(廃止予定)を使わない
はい
原則
KISS シンプルにせよ
DRY 繰り返すな
YAGIN 使うまで作るな
最後に
まだいろいろあったけど、理解できない部分が多かったのでとりあえず終わり。
VisualStudioのコード整えてくれる機能などはこっちに書いた。
Ctrl+KのあとにCtrl+Dでコードをきれいに!
この本はVisualStudioの機能をいろいろ紹介してくれていてとてもよかった。
名前を付けてくれるサイトの紹介など