Chapter 01無料公開

本書の想い

Pikawaka
Pikawaka
2021.06.05に更新

私はプログラミングスクール卒で5年目のWeb系エンジニアです。
現在はフリーランスのエンジニアとしてWeb系の上場企業に勤めています。(過去、社員数人しかいないWeb系のベンチャー企業経験あり)

いろんなプロダクトに関わる中で、どのようなディレクトリ設計をすれば『メンテナンスしやすく可読性の高いRailsアプリケーションになるのか』を知ることができました。

この本では、『メンテナンスしやすい・可読性の高い』Railsアプリケーションのディレクトリ設計方法を体系的に学べるようにポイントを絞ってまとめています。

独学でプログラミングを勉強している人、プログラミングスクールを受講している人にとっては
「メンテナンスしやすいディレクトリ設計」や「可読性の高さ」を意識してソースを書く機会は少ないのではないでしょうか?

またエンジニアとして働く中で、勤め先のプロダクトのコードが汚くて読みづらいという方もいるのではないでしょうか?

本書の内容は、このような悩みを持つ人たちには役立つと思うのでぜひ読んで頂きたいです。

プログラミングスクール卒業後にぶち当たった壁

プログラミングスクールを卒業したばかりの頃は、自分一人で一からオリジナルアプリケーションを作った経験もあって、ググれば作りたい機能は自分一人で作れると思ってました。

スクールの教材やUdemyで買った教材などで知識が増えて、実装できる機能もどんどん増え、プログラミングすることにハマっていました。

しかし、実際にエンジニアの現場で働きはじめると、自身のコードの問題点に気付きました。

問題点は次の通りです。

  • ルーティング設計やコントローラーの作成を場当たり的に作成していた。
  • ロジックをコントローラに書いてしまい、モデルはほとんど使っていなかった。
  • 新しいページを作る度にSCSSファイルを自分の好きなように追加していた。

独学やスクール上がりの人がエンジニアとして働き始めてから、上記の問題点を感じる人も多いと考えてます。

なぜならプログラミングスクールのような初心者向けの教材は、まずWebアプリケーションの基本的な作り方を理解できるようになるために、簡単なウェブアプリを作ることに重点を置いた内容だからです。

そのためメンテナンスがしやすいアプリケーション設計の考え方までは、カバーし切れていない傾向にあります。

プログラミングスクールを卒業した私は、スクールが教えている内容が悪いと思っていません。(もちろんスクールによると思いますが)

初心者からプログラミングを覚えてウェブアプリケーションを作れるようになるには、プログラミングスクールに通うことも、エンジニアになるための近道の一つだと考えているからです。

しかし、スクールを卒業したばかりの頃の私は、勤め先で「ソースが汚い」だったり「プロダクトの設計に合わせてコードを追加して」とプルリクエストでレビューしてもらって、マージに時間がかかることが多くあり苦労しました。

つまり、「プログラミングスクールで学んだこと」 だけでは、知識が足りずエンジニアとして働くのに苦労したということです。

しかし以下の問題点を改善して

  • ルーティング設計やコントローラーの作成を場当たり的に作成していた。
  • ロジックをコントローラーに書いていて、モデルはほとんど使っていなかった。
  • 新しいページを作る度にSCSSファイルを自分の好きなように追加していた。

以下の様にソースを書くようになってから

  • メンテナンス性が高く、可読性の高いルーティングとコントローラーの設計
  • スキニーコントローラー・ファットモデルを重視したロジック分離
  • FLOCSSを利用したSCSSの設計

プルリクエストで「ソースが汚い」とレビューされることもなくなり、自分自身もコードのレベルが上がったと自覚できました。

私自身がこのような苦い経験をしたこともあって、ぜひ 「独学やプログラミングスクール上がりの人」 には、本書を読んで可読性の高い設計を考えながら、ソースを書けるようになって頂きたいです。

そして現在エンジニアとして働いている中で「勤め先のプロダクトのコードが汚い」と感じている人にも、本書を読んで是非勤め先のプロダクトのディレクトリ設計やソースコードを綺麗にする参考にして頂ければと思います。

次の章『はじめに』に本書の概要を書いているので、読んでみてください。