LoginSignup
9
7

読みやすいコードとは【備忘録】

Last updated at Posted at 2023-04-14

はじめに

この記事では、私が色々な本を読み得た「読みやすいコード」についての知見を記述しています。
備忘録のようなテンションで書いています。
ご理解ください。

*ゆっくり更新していきます

なぜ読みやすいコードを書くべきなのか

コードが読みやすくなることで、どこに何が書いてあるのかを理解し易くなる。
             ↓
開発者が正確にコードを理解でき、バグが生じるリスクが減少したり、開発速度が上がる。また、バグが発生した場合でも修正がし易くなる。

アーキテクチャの適用

そもそも、ViewControllerにベタ書きされているコードは行数も多く、責務分離もできておらず可読性は低いです。
そこでMVC・MVVM・VIPERなどなど数ある設計パターンを適用し、責務を分離させることでグッと可読性が向上します。(同時に効率性も向上するので、処理速度も良くなります)

分かりやすい命名

・意味不明な省略をせずに、誰もが意味や役割が簡単に理解できる名前にする
・正確且つ説明的な名前にする
・何かの動作について記述している関数であれば、どんな動作をしているのか分かる名前にする
・基本的には、クラスや変数は(形容詞) + 名詞、関数は命令形(動詞から始める)の語句を用いる
・肯定的な語句を用いる(enable, disable...)

関数

・ベタ書きをせずに、一定のまとまりを関数として切り分ける
・関数が持つ責務は1つにする
・必ず自身のインスタンス変数を使う
・コマンドとクエリを分離させる→CQS
・引数は不変にする(変更する場合は、ローカル変数に代入)
・エラーは戻り値で返さない(その場で対処する)

ネストを深くしすぎない

・早期return、早期breakを有効に活用する
・条件分岐を一箇所にまとめる(単一責任選択の原則)
・メゾットチェインを使う
ストラテジーパターンを使う

クラス

・class単体でも動作するように設計する(インスタンス変数とそれを操作する関数を備えたクラス)
・意味がある単位ごとにclass化をする→ex) 計算アプリ: 定価class, 割引class, 割増class...

コメント

・(関数や変数に正しい命名をして)極力少ない文章で説明する
・関数は何を返すのか、何をいじるのかを説明する
・副作用を持つ関数は、その内容を説明する
・各行に書かないで、ある程度のまとまりについての説明をする

状態

・基本的には不変な値を使う
・計算ロジックはデータ保持側に持たせる
・コード外とのやりとり(データベースなどとの通信)は局所化する→Repository型

まとめ

上記の事を意識してコードを書くことで、自分も共同開発者も読み易くなり、開発効率が向上したり、バグの撲滅につながると考えています。
ぜひ、参考にしてください。

参考文献

読みやすいコードのガイドライン(著者:石川宗寿)

良いコード/悪いコードで学ぶ設計入門(著者:仙塲大也)

9
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
7