Help us understand the problem. What is going on with this article?

コードの共通化を意識する ①

自分がエンジニアバイトをしているところでは週1回Rails勉強会をしています。今回はそのやったところのまとめを残しておきます。
参考書:現場で使える Ruby on Rails 5速習実践ガイド

複雑になっていくアプリケーション

機能を開発していくと、どんどんコードの量が増えて複雑になっていきます。すると、ある機能を作っているとき、同じような処理をしているロジックが既に存在している場合があります。このとき手早く実装するためにロジックをコピペしてしまい、同じ処理が複数箇所に存在してしまうことになります。また複数人と開発していると開発者が気づかないうちに同じ処理のコードを新たに作成していたりします。
このようなことがあると変更が起きた時複数箇所直す必要があり、時間が多くかかってしまったり、片方のロジックは直しても、もう片方は忘れたりしてしまうこともあります。さらに似たコードがそこかしこに点在すると、コード全体が読みづらくなります。このような重複問題が起きると新たに機能を追加する時やバグの修正に時間が多くかかってしまう原因になります。

これらの問題を解決する手段としてコードの共通化を行っていく必要があります。しかしただコードを共通化すればいいのではありません。似ているコードの共通点、相違点を分析して、適切な共通化を計らないで重複したを避けようと強引に共通化を行った結果、基本となる設計を壊してしまい将来の機能拡張に支障が出てしまうことになります。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away