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

オブジェクト指向設計 依存関係の管理

オブジェクト指向シリーズ。読みにくい本が多い中でオブジェクト指向設計実践ガイドは勉強になるなー。 Contents1 依存関係の管理1.1 メモ1.2 実際のコーディング上のコツ1.3 感想 依存関係 …

no image

コレクションの頻出処理に関して

PHPでコレクションを使っていますが、慣れると本当に便利ですね・・・まあforeachとかでグリグリやってもいいのですが、無駄にコードが長くなります。 自分がコレクションでよく使う再頻出のメソッドなど …

no image

Webの高速化に関して

Webの高速化に関してメモ。 高速化って言っても幅広いんですけどね。自分が行なっている対策に関して。 一応LAMP環境を前提にしてます。 Contents1 一番大事なのは測定2 DB対策3 フロント …

no image

使える設計書作成に関して シーケンス図

使える仕様書ですが、細かいロジックなどシーケンス図も結構役に立つのでは・・と思いましたね。 シーケンス図とは下記のようなものです。 https://cacoo.com/ja/blog/what-is- …

no image

ドメイン決定&業務フローとの対応確認

Contents1 ドメイン決定2 業務フローとの対応2.1 実際の業務とエンティティ、画面の遷移2.2 ドメインのCRUD分析 ドメイン決定 業務フローを抽出し、エンティティを抽出した段階で次にドメ …