質問: 利用言語 `PHP Codeigniter(PHPフレームワーク) jQuery Bootstrap` 初心者プログラマが必要にかられて断片的に断片的に勉強しているため、開発の規模が大きくなるにつれ、コードの書き方やもうちょっと大きな単位でのコードによって実現している機能に一貫させられない? ### ハマっていること (※流し読みしてください、日本語が苦手なので) **いわゆるスパゲティ状態になる** オブジェクト指向?で作っていく発想がないからなのか、必要とされ機能をその度追加していくのですが、気がついたら 1.それぞれのコードは包括した1つの関数プログラムでまとめるべきではなかったのか? 2.違うコーディングでそれぞれを実現してるけど同一の手段で実現させられなかったのか? 車輪の再開発ばかりしていますし、その度、車輪のバグを検証して非常にコードの管理上も良くないと感じてます。 **特に顕著だったのが、jQueryを利用した画面作成とajax** jQueryはHTMLに組み込まれてるため、分離しにくい?抽象化(←あってるのかな)しにくい?、単に技術不足っぽそうな気もします。 その度、違った車輪ばかり作ってしまいます。 逆に、一例と出すのは如何なものかとも考えたのですが、**Bootstrapは良い**。 当たり前と言われそうですが、私にとってはCSSも同様なことが考えられ、自分でCSSを書いていくと冗長で使い回しの聞かないものを量産していきそうですが、Bootstrapの利用でパーツや画面を構造的に作りやすいです。 ### 知りたいこと 上記に対する断片的なノウハウと言うより、**プログラムを書いていく上で何が必要で、今なにをどのように学ぶべきなのでしょうか?** 設計とか、オブジェクト指向とか、画面遷移図とか、UMLとか、既存のIDEを利用しな!とか(今はvim or プレーンatom)、オープンソースの◯◯を解析して参考にするといいよ!とか、そういう次元じゃねーよなど。 なんでも良いのでアドバイスください。 残念な質問でごめんなさい。
回答: あなたに今必要なのはリファクタリングではないでしょうか。 リファクタリングを学ぶことで、自分のコードに対してどのようなリファクタリングができるかがわかります。そうすることでコードの良し悪しを判断できるようになります。