skillup

技術ブログ

ドキュメント作成 プログラミング全般 未分類

新しいプロジェクトに入った時にやること

投稿日:

新しいプロジェクトに入った時に最初にすべきことややっておくことなど

仕様理解編

基本ですが、見落としがないように紙の資料は必ず印刷して考えること。文房具として消すことのできる色ペンがあるとさらに便利。

ユーザーの行動遷移の理解

図を使ってアニメ絵で以下の情報のメモ。実務に近い人がベター。

  • 行動とそれに伴う時間軸
  • 総プレイヤー(処理に関わる人、モノ、サービス)の洗い出し
  • データ(必ず生きたデータ、具体的なデータを使う)のフロー
  • 作業時のTPO(時間、場所、状況)
  • 作業発生時のイライラ(修正ポイントや仕様変更ポイントになりやすい。)

キー系のデータの理解

キーになるデータ(主にコード系)はデータや行動遷移の鍵になる場合が多いので別色で確認。

特に商品に複数のコードがある場合、コード数=関連するプレイヤー数になることが多い。

データグルーピング

上記行動フローに伴う中での物理的なデータ(テーブル図)の関連の理解、また近いデータの組み合わせや連動するデータのグルーピング。

サンプルパターンの洗い出し

TDDに近いのかもしれませんが、実データでどんなパターンがありえるかの洗い出し。単体テスト仕様書などがあればベスト。

技術編

プロジェクトの全容がわからなくてもできることなどに関してメモします。

共通・汎用系処理の確認

全プロジェクトでよく出る共通処理の確認。なければ作っておきましょう。(だいたいどのプロジェクトでも似たようなものが出てくるので自分なりの頻出パターンをGitHubなどでまとめておくと良いです。)

バックエンド

  • バリデーションの処理パターンの抽象化
  • 親クラスで頻出処理(主にDBの頻出処理とテーブルの変数化、マスターのkey-value系の出力)
  • SQLヘルパー(特に検索系。イコールや、from,toパターンを1行でかけるように)
  • DBのリレーションパターンの記法(FW独自の書き方がある場合。1:N、N:1、N:Nのパターンでどのように書くか)
  • CSV、メール系、PDFなどの専用クラスの作成
  • 例外クラスの作成
  • 配列加工系(今だとCollectionでFWに搭載されているのでよく出る記法を調べておくと良いかも)
  • 日付(よく出るパターンをチートシート化しておくと良いかも・・・)
  • 文字列加工

フロントエンド

  • select,radio,checkなどのHTMLヘルパー(選択肢を渡して、1、2行で記述できるように。)
  • css 頻出パターンの省略記法
    ( margin-top:10pxmt10 や flex_fs_c justify-content:center,align-items:center )
  • JS頻出ライブラリ(例:ページャー、モーダルなど。また初見のものがないか調べておくべし)
  • 配列加工(ライブラリを使うのが吉。sugar.jsやlodashがおすすめ)
  • 文字列系(特に金額を扱う画面の場合は、数値をカンマ文字列、カンマ文字列を数値にする、などや半角全角汎用処理)

初見処理の洗い出し

  • JSのライブラリやミドルウェア、他新規サービスなどでハマりポイントになりそうな部分の確認

他作業系

主によくある処理の時間の短縮化です。

  • エディタの一気に入れるプラグインや設定
  • テストデータ入力装置(バックエンドではコマンド、フロントではJSONから一気に入力できるメソッドの開発など)
  • 主にデータ入力などで使えそうなWEBサービスのリスト化(CSVからインサート文の作成マクロなど)
  • 画面を通さない(あるいは省略化できる)テストデータの入力経路の確保
  • 大量データの変換処理(例:プルダウン項目が100近くあるもののyaml化処理など。プログラムを作るプログラム)
  • 他繰り返しそうな処理の工数短縮できないかの工夫(Excelマクロやフリーツールなど)

-ドキュメント作成, プログラミング全般, 未分類
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

フォームの処理について

本日はフォームの処理に関して。主に一覧検索画面のフォームについてです。 フレームワークでフォームの処理をする場合、変数の初期値やバリデーションなどをあらかじめ読み込むオブジェクトを設定しておき、変数が …

no image

命名規則について

リーダブルコードシリーズ第2段、名称について。 コードにおいては名称がとても大切で、正しい命名づけなどはなかなか難しいです。 以下に大事で重要だと思ったポイントを。 Contents1 具体的でわかり …

no image

ファジープロジェクト対策 その1

5月ぐらいから着手していたプロジェクト(顧客管理ソフト)が終焉を迎え、検証段階に入ったので、記して置きたいことなど。 数ヶ月程度ですが、自分が携わったプロジェクトの中では過去最大クラスのものでした。 …

no image

基本設計書(シーケンス図)

基本設計書で気をつけるポイントなど。 要件が決まっており、処理の遷移や流れなどを知る時に、便利なのがシーケンス図だと思います。 アジャイルでもざっくり処理の流れを書いておけば、認識合わせに大分役立つは …

no image

メモリに関して 静的領域、スタック、ヒープなど

実務でメモリの調査をしましたが、肝心のメモリについてほとんどわかっていないのでメモ。 メモリの領域を大きく分けると静的、スタック、ヒープに別れる。 Contents1 静的2 スタック3 ヒープ4 そ …