💨

現場のシステムと仕様を理解する方法❗️(駆け出しエンジニア必須)

2024/03/01に公開

概要

エンジニアになって現場に入った時に、改修の現場が多いと思います。
その際に、システムの理解と仕様の理解が必須になってきます。
システムと仕様の理解ができないと現場では戦力になれないので、
この辺はチェックしといてねってやつを伝えます。

システムの理解

現場のコードはスクールとは全然違う

現場のコードはテーブルやコントローラーが30個や50個あったりするので、
スクールよりも圧倒的にレベルが高いです。

https://qiita.com/jnchito/items/c9ca22efa270ff1b7f3d

実務のソースコードが載っているのですが、システムの理解ができるようにならないと
かなり実務で苦戦します。。。。。

アーキテクチャを理解していく

システム全体から見たデータの流れを見ていく必要があります。


  • どのロジックで、どのファイル、テーブルを呼び出している?
    どんなデータを返している?(API?APIじゃない?)

メイン機能とタスク関連のシステムを中心に理解していくといいです。
メイン機能を理解すれば、他のシステムも理解が速くなります。

アーキテクチャの理解は自分はどう対応した?

実務で理解していったことはメモをしていって、重要な機能は仕様書を作成して現場に共有
していました。

仕様書に書かなくても、自分で紙に書いて、状況整理していきました。
文字にして、言語化すると、理解が深まります

コードを理解していく

コードを理解していくコツは2点です。

1.ディレクトリの構造
どこのディレクトリにどんな機能があるか?です

2.処理がどのようにされているか(コードのロジック)
自分のタスクとメイン機能を中心に見ていく

紙に書いたり、何かドキュメントに書いていってください。
状況整理ができますし、理解が速くなります。

テーブルを理解していく

Webサービスでは、DBは必須なので、テーブルは理解した方がいいです。
テーブルで機能が実装されていたりします。

  • 理解のやり方
    1.ER図の確認
    2.各機能て使われているテーブルは何か
    など

仕様の理解

コードのロジックだけでなく、サービスの仕様を理解するといいです。
つまりこれはユーザー目線での理解です。
タスクの理解やタスクの背景を理解するメリットがあります。

仕様は以下のやり方で確認してください。
1.実際にサービスを使ってみる
2.仕様書などのドキュメントで確認(ない場合あり)

コードも読むといいですが、まずは上の2つやるといいと思います。

issueやリリースノートを書く際に理解していった内容をメモして共有

これやると、自分の作業の進捗だけでなくて、チームの生産性も上がります

自分が似たようなタスクをやりやすくなりまし、他のメンバーの情報共有(仕様理解など)にも
役に立ちます。

⚫︎自分の場合
仕様書がなかったので、仕様書作成
リリースノートを積極的に書いて、仕様変更があった時のメンバー間への共有

書く内容はざっくりでいいです。

Discussion