1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【技術書紹介】vol.1 : 良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方

Posted at

こちらの書籍を読んで非常に面白かったので他の方にもおすすめしたくなり、読みたくなるような記事を書ければと思いました。簡単に紹介いたします。

info

  • 書籍名 : 良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方
  • 著者 : 仙塲大也 様

本書の特徴

  • 可読性が高くバグの出にくいコードの書き方が載っています
  • コードはJava言語で書かれていますが、他言語の経験さえあれば理解できます
  • 親しみやすく面白い技術書ですが、出てくる用語が相手に伝わる一般用語なのか判別が必要です

内容の感想

すぐに取り組めそうなこと

  1. if文のネスト
    if文で条件が2重・3重にもネストしていたり、elseifで延々と条件が繋がっていると処理を追うのが負担になる。早期リターンですぐ返してあげるとよい。
  2. NULL問題
    「無」の状態を表現するために安易にNULLを使うと至る箇所でNULLチェックが必要になる上、実装漏れが命取りに。「0」や「""」のプリミティブ型を使うことを意識するとよい。
  3. マジックナンバー
    コード上に突如「4」といった数値が現れるとその数値が何を意味しているのか分からない。メンバ変数にして数値に意味を持たせるとよい。配列の添え字にも同様に気を付けたい。

本腰入れれば取り組めそうなこと

  1. interfaceの利用
    安易にswitch文やif文で分岐処理を実装してしまうとコードの重複や実装漏れにつながる。まずはinterfaceその実装クラスを作ることを検討してみる。
  2. 名前設計
    例えばクラスを「商品コントローラー」という単位で作ってしまうと、「仕入商品」・「配送商品」・「注文商品」...といった全ての商品に関連する処理が集まってしまうので、特化した名前を付けると実装箇所が分散されてコードが見やすくなる。(他にも技術駆動命名など面白い視点があった。)

おわり

ここにはとても書ききれませんが、他にも有益な情報がたくさんありました。
半年ほど空けて2周目読みましたが、まだ身についてないことも多いのでまた忘れたころに繰り返し読もうと思います。

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?