プロジェクト

全般

プロフィール

Wiki » 履歴 » リビジョン 9

リビジョン 8 (a a, 2018/05/26 17:19) → リビジョン 9/33 (みぞ @mizo0203, 2018/05/27 08:04)

# Wiki 

 ## 開発ツール 

 * GitHub 
     * コード管理 
         * プライベートリポジトリ(後にパブリックへ変更する) 
         * 中央集権型ワークフローを採用する 
             * 中央リポジトリ: https://github.com/mizo0203/google-home-shiritori 
 * Redmine 
     * 要件管理 
     * 不具合管理 
     * Wiki 
 * Markdown + PlantUML 
     * ドキュメント作成 
     * 設計図作成 
         * ※ Word・Excel・PowerPoint は使用禁止 
 * CircleCI - 1 コンテナ無料(プライベートリポジトリでも可、ビルド時間 25h/month まで) 
     * ビルドチェック 
     * 静的解析 
         * Lint - コードの構文チェック  
         * FindBugs - 実行時に起こり得るバグの検出 
     * 【できれば】Programming Tests 
     * 【できれば】Deploy 
 * Slack 
     * チャット 

 ## 利用サービス 

 * DialogFlow 
     * [JSONフォーマット](https://dialogflow.com/docs/fulfillment#section-format-of-request-to-the-service) 
     * 参考: [Dialogflow入門 - Qiita](https://qiita.com/kenz_firespeed/items/0979ceb05e4e3299f313) 

 ## 開発フロー 

 1. Redmine にチケットを作成 
 2. GitHub で各自ブランチを切って Commit & Push 
     * プリフィックス(範囲) + 英語のコミットメッセージ + #チケット番号 + @作業時間 
         * ```feat(*): hogehoge. #999 @1.5h``` :新しい機能 
         * ```fix(*): hogehoge. #999 @1.5h``` :バグフィックス 
         * ```docs(*): hogehoge. #999 @1.5h [ci skip]``` :ドキュメントのみ変更(CI は実行しない) 
         * ```style(*): hogehoge. #999 @1.5h``` :コードの意味に影響を与えない変更(空白、フォーマット、セミコロンの欠落など) 
         * ```refactor(*): hogehoge. #999 @1.5h``` :バグを修正したり、機能を追加したりしないコード変更 
         * ```perf(*): hogehoge. #999 @1.5h``` :パフォーマンスを向上させるコード変更 
         * ```test(*): hogehoge. #999 @1.5h``` :既存のテストの欠落または修正の追加 
         * ```chore(*): hogehoge. #999 @1.5h``` :ビルドプロセスやドキュメント作成などの補助ツールやライブラリの変更 
             * 参考: [【今日からできる】コミットメッセージに 「プレフィックス」 をつけるだけで、開発効率が上がった話 - Qiita](https://qiita.com/numanomanu/items/45dd285b286a1f7280ed) 
             * 参考: [angular.js/DEVELOPERS.md at master · angular/angular.js](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#type) 
     * 原則 1 Commit 1 チケット 
         * ```fix(*): hogehoge. #99 @0.5h #999 @1h``` :例外的に複数チケットを 1 Commit で対処する場合 
 3. CircleCI でビルドチェック、静的解析、PT 
 4. みぞ + 1 名の 2 名でコードレビュー & マージ 
 5. CircleCI でビルドチェック、静的解析、PT、Deploy 

 ## 開発言語 

 サーバーはJSONを処理できれば、何でも使用できる 

 ## Google App Engine for Java を利用する開発 GoogleAppEngineを利用する開発 

 * IntelliJ IDEA Community Edition で環境構築 
     * https://cloud.google.com/tools/intellij/docs/quickstart-IDEA 
     * https://cloud.google.com/eclipse/docs/creating-new-webapp GoogleAppEngine利用して、Webアプリなどを開発する手順はGoogleドキュメントを参考 
 https://cloud.google.com/eclipse/docs/creating-new-webapp?hl=ja