リーダブルコード
デバッグ
テスト
ソフトウェアアーキテクチャ
リーダブルコード
1.理解しやすいコード
コードは他の人が最短時間で理解できるように書くことが目標
2.名前に情報を詰め込む
明確な単語を選ぶ
抽象的な名前よりも具体的な名前
名前に情報を追加
3.誤解されない名前
限界値、範囲、包含、ブール値などで使い分ける
4.美しさ
一貫性のある改行位置
メソッドを使った整列
縦の線をまっすぐに
宣言をブロックにまとめる
コードを段落に分割する
5.コメントすべきことを知る
コメントの目的は書き手の意図を読み手に知らせることである
読み手の立場になって考える
ハマりそうな罠を告知する
全体像のコメント
6.コメントは正確で簡潔に
関数の動作を正確に記述する
入出力のコーナーケースに実例を使う
コードの意図を書く
名前付き引数コメント
情報密度の濃い言葉を使う
7.制御フローを読みやすくする
条件式の引数の並び順
If/elseブロックの並び順
do/whileループを使わない
関数から早く返す
Gotoは使わない
ネストを浅くする
8.巨大な式を分割する
説明変数
要約変数
より優雅な方法を見つける巨大ないs機を分割する
9.変数と読みやすさ
変数を削除する
変数のスコープを縮める
定義の位置を下げる
変数は一度だけ書き込む
10.無関係の下位問題を抽出する
汎用コードをたくさん作る
11.一度に1つのことを
タスクは小さくできる
12.コードに想いを込める
ロジックを明確に説明する
ライブラリを知る
解決策を言葉で説明する
13.短いコードを書く
コードを小さく保つ身近なライブラリに親しむ
14.テストと読みやすさ
エラーメッセージを読みやすくする
15.分/時間カウンタを設計・実装する
凄腕エンジニアさんから学んだ例外の話
https://qiita.com/TairaNozawa/items/ab878eaa0b9f64b9854f
Clean Coder
最低限のこと
デザインパターン:GOFの24パターン、POSAのパターン
設計原則:SOLID原則、コンポーネントの原則
方法論:XP、スクラム、リーン、カンバン、ウォーターフォール、構造化分析、構造化設計
規律:TDD、オブジェクト指向設計、構造化プログラミング、CI、ペアプログラミング
成果物:UML、DFD、構造チャート、ペトリネット、状態遷移図、状態遷移表、フローチャート、ディシジョンテーブル
追加
ナッシーシュナイダーマン図、ミーリの状態遷移図、ムーアの状態遷移図、変換分析、トランプデータ、connasence、パーナステーブル