現場のシステムと仕様を理解する方法❗️(駆け出しエンジニア必須)
概要
エンジニアになって現場に入った時に、改修の現場が多いと思います。
その際に、システムの理解と仕様の理解が必須になってきます。
システムと仕様の理解ができないと現場では戦力になれないので、
この辺はチェックしといてねってやつを伝えます。
システムの理解
現場のコードはスクールとは全然違う
現場のコードはテーブルやコントローラーが30個や50個あったりするので、
スクールよりも圧倒的にレベルが高いです。
実務のソースコードが載っているのですが、システムの理解ができるようにならないと
かなり実務で苦戦します。。。。。
アーキテクチャを理解していく
システム全体から見たデータの流れを見ていく必要があります。
- 例
どのロジックで、どのファイル、テーブルを呼び出している?
どんなデータを返している?(API?APIじゃない?)
メイン機能とタスク関連のシステムを中心に理解していく
といいです。
メイン機能を理解すれば、他のシステムも理解が速くなります。
アーキテクチャの理解は自分はどう対応した?
実務で理解していったことはメモをしていって、重要な機能は仕様書を作成して現場に共有
していました。
仕様書に書かなくても、自分で紙に書いて、状況整理していきました。
文字にして、言語化すると、理解が深まります。
コードを理解していく
コードを理解していくコツは2点です。
1.ディレクトリの構造
どこのディレクトリにどんな機能があるか?です。
2.処理がどのようにされているか(コードのロジック)
自分のタスクとメイン機能を中心に見ていく。
紙に書いたり、何かドキュメントに書いていってください。
状況整理ができますし、理解が速くなります。
テーブルを理解していく
Webサービスでは、DBは必須なので、テーブルは理解した方がいいです。
テーブルで機能が実装されていたりします。
- 理解のやり方
1.ER図の確認
2.各機能て使われているテーブルは何か
など
仕様の理解
コードのロジックだけでなく、サービスの仕様を理解するといいです。
つまりこれはユーザー目線での理解です。
タスクの理解やタスクの背景を理解するメリットがあります。
仕様は以下のやり方で確認してください。
1.実際にサービスを使ってみる
2.仕様書などのドキュメントで確認(ない場合あり)
コードも読むといいですが、まずは上の2つやるといいと思います。
issueやリリースノートを書く際に理解していった内容をメモして共有
これやると、自分の作業の進捗だけでなくて、チームの生産性も上がります。
自分が似たようなタスクをやりやすくなりまし、他のメンバーの情報共有(仕様理解など)にも
役に立ちます。
⚫︎自分の場合
仕様書がなかったので、仕様書作成。
リリースノートを積極的に書いて、仕様変更があった時のメンバー間への共有。
書く内容はざっくりでいいです。
Discussion