> For the complete documentation index, see [llms.txt](https://kashiwara.gitbook.io/rubydesurufurusukuratchibe/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kashiwara.gitbook.io/rubydesurufurusukuratchibe/rifakutaringu/rifakutaringugana.md).

# リファクタリングが必要な理由

### リファクタリングとは

コードの可読性や保守性を向上させるためにコードを改善する作業内容のことです。

業務では新規追加とリファクタリングのバランスを取ることが求められます。

リファクタリングを軽視した場合、そのコードの寿命は短くなっていきます。

{% hint style="warning" %}
**失敗談・リファクタリング編**

リファクタリングが難しいコードは作り直した方が早いです。

普段から少しずつリファクタリングするようにして延命させてください。

以前、以下のフロント環境の改善業務が私の所にやってきたことがあります。

( Vue2 X vue-property-decorator X srtict: falseのTS X railsのwebpacker)

このフロント環境は単体テストもなく不具合の温床になっていました。

また立ち上げまでに2分以上かかるなど開発体験が最悪でした。

結局、技術選定と工数見積をした結果React hooks x esbuildで作り直した方が長期的にみて安いと判断して作り直すことになりました。
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://kashiwara.gitbook.io/rubydesurufurusukuratchibe/rifakutaringu/rifakutaringugana.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
