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

Gitの活用に関して

今回はgitの技術的なことではなく、主に運用に関して。超基礎的なことですが、チームで開発する場合にはルールを徹底してないと混乱をきたします。 Contents1 ブランチを追加機能ごとにきる2 バグに …

no image

正規表現その2

10/28に書いた正規表現に関しての追記です。 Contents1 覚えておきたいメタ文字2 留意点 覚えておきたいメタ文字 よく出るメタ文字の復習です。 メタ文字 メタ文字の説明 [] いずれかの1 …

no image

phing

今までphpunit,phpmd,phpcodesniffer,phpdocumentなどのツールをいろいろと試してきますが、個別に動かしていると大変面倒ですので、これを一気に行えるライブラリがありま …

no image

命名規則について その2

リーダブルコードネタ第3段。 前回のエントリーに引き続き、名称の大切さについて Contents1 あいまいな名前はNG!1.1 限界値はmaxかminを使う1.2 範囲を指定するときはfirstとl …