プログラミングするときに意識すると良い原理原則

最近プログラミングに関する情報を発信しているムーザルちゃんねるにハマっているので、動画で知ったことをざっくりまとめようと思います。

DRY(Don't repeat yourself)

知識を重複させない。

同じコードが複数の場所に散らばっていて、片方に修正が生じると複数箇所しなければならなくなる。

他の人がコードを見た時に、同じコードに見えるけど別の場所に書いてるから差分があるのでは?と目を凝らさなければならず可読性が低くなる。共通化することが大切。

しかし、共通コードの中で、メソッド毎の固有の処理が条件分岐で表現されていたら危険シグナル!過度の共通化は各機能の依存度が高まり密結合になってしまう。後で修正しにくくなる。

単一責任の原則

変更を要求するのは人間(利用する側)。

単一の利用する人に対してだけ責務を負う。

例えば、ログイン処理のパスワード判定を利用者とみなして、共通コードとして抜き出すことで単一責任を守りながらDRYにできる。

名前重要

適切な名前をつけることができた機能については、その設計の八割が完成したと考えても言い過ぎではない。

プログラマが知るべき97のことより

変数名や関数名等は、開発者にとってのシステムにアクセスするためのインターフェイス。読みやすく書きやすい行動のためには良いインターフェイス(名前)であることが重要。

適切な名前が思いつかない場合は、機能が複雑であったり、機能の不明瞭の可能性が高い。

良い名前は、名前から詳細が理解できる。例えばGitHubで名前を検索して、明らかに使われている単語と使われていない単語を参考する。メソッドだと動詞を使うなど。

名前付けの際には驚き最小の法則を意識する。valid?と言うメソッド名なのに、実行するとデータのチェック以外に、整形処理をしてしまっているなど、名前からは想像し得ないものにはしない

感想

DRYは会社の勉強会で学んでいたので知っていましたが他二つが勉強になりました。プログラマーは命名センスが大事だとは気づいていましたが、名前重要という原則があることは知らなかったです。名前つけをかなり苦手とするため、githubで調べる方法はなるほどという感じでした。個人開発する際のプロジェクト名をいつも適当につけているので、良い名前をつけるように意識したいと思います。




この記事が気に入ったらサポートをしてみませんか?