1. jojojo0501

    No comment

    jojojo0501
Changes in body
Source | HTML | Preview
@@ -1,69 +1,68 @@
#1.はじめに
所属しているオンラインサロンにて、共同開発を行いました。今回作成した成果物は下記リンクからご確認ください!
[成果物はこちら](https://tenkuehotel-r018.netlify.app/)
この記事では、未経験が共同開発を経験してみた感想、学んだこと等を記載していきたいと思います。
共同開発に興味をお持ちの方の参考になりましたら幸いです。
##1-1.簡単に自己紹介
・Web開発エンジニアを目指し学習中
・業界未経験
・2020年11月〜本格的にプログラミングを学習中
##1-2.概要
共同開発の概要は下記の通りです。
-・予めメンターにより用意された[見本](https://tenkue-hotel.takanori-portfolio.com/)を目指して実装を行う。
-・デザインについては、完全一致ではなく、おおよそのレイアウトが整っていれば良いという基準のもと開発した。
・メンバー:メンター(現役エンジニア)1名+開発者(業界未経験)3名
・期間:約3週間
・環境/技術:EJS、Sass、JavaScript(jQuery)、Node.js、GitHub(ソースコード管理)
+・デザインについては、完全一致ではなく、おおよそのレイアウトが整っていれば良いという基準のもと開発した。
#2.開発の流れ、各段階における所感
早速ですが、開発の流れについて時系列で紹介していきます!
また、各段階における学んだこと、所感について記載していきます。
##2-1.開発準備、環境構築
【実施事項】
・キックオフミーティング(自己紹介、チームリーダーの決定、担当ページの決定)
・[Trello](https://trello.com/ja)(タスク管理ツールです。)のボード作成(ガントチャートによるスケジュール管理のため)
・リモートリポジトリの作成(GitHub)、クローン
・Node.jsのバージョンを統一
・実装内容をissueに登録([issueについてはこちら](https://qiita.com/janus_wel/items/ba47259f107b161c5727))
・上記が完了しているかメンバー間で確認
【所感】
 私はリモートリポジトリの作成、チームメンバーにアクセス権を付与する作業を行いました。
おそらく、実際の実務でも確実に行うことであり、一人の開発ではなかなか経験できないため経験できてよかったと思っています。
 Node.jsのバージョン指定についても一人ではなかなか意識しないと行わないと思いますが、実務では必ず行うことだと思います。
##2-2.実装
【実施事項】
・担当ページの実装
・Git、GitHubによるコード管理
・slackによる日々の進捗報告
・週一回の定期ミーティング
【所感】
 開発に携わった3人とも未経験であり、日中は仕事をしている状況した。
そんな中でも、不明点を質問し合ったり、積極的に記事を共有したりすることで、スムーズに開発を進めることができたと思います。
質問時には、お互い未経験同士であるため、質問の内容、意図をしっかり汲み取ってもらうために、具体的に詳細に記載することを心がけました。
 また、コーティングには、Sassを使用しました。記法については予め、[FLOCSS](https://github.com/hiloki/flocss)の記法に従うよう決められていました。現場によりますが、今回使用したFLOCSS記法などを使用して開発をすることが多いそうです。
私は、今回の共同開発で、初めてこのような記法について知り、あれこれ勉強しながら開発を進めました。最初は、少しやりにくさを感じましたが、徐々に慣れ、他人のコードを見ても分かりやすく、このような記法の大切さを知りました。FLOCCSについて、初めて聞いた方は、FLOCSS、BEMやOOCSSなどで検索してみることをおすすめします。
 また、日々のタスク管理は各ページごとにブランチを切り、pushしていくことで行いました。共同開発を行う最大のメリットはここにあると思います。初めて共通のリポジトリにpushするときには手汗をかきました笑。間違って、masterにpushしないよう、ファイルを削除してしまったり等トラブルが起こらないよう皆慎重に調べながら行っていましたが、この結果としてgithubのコマンド操作について理解がとても深まったと思います。
#2-3.コードレビューからデプロイまで
【実施事項】
・完成したページのプルリクエスト
・開発者同士のコードレビュー
・レビュー結果に基づき修正
・メンターによるコードレビュー
・再度レビュー結果に基づき修正
・マージ、masterにpush
・デプロイ
【所感】
 ここでも、一番の収穫はGithub関連です。プルリクエストやpullやfetchについてあれこれ調べながら行いました。
開発者同士でレビューし合うことでより見本と近いものに仕上がっていきました。メンターさんからのレビューでは、実装画面上のご指摘の他、コードの保守性や他人から見たときのコードわかりやすさ等についてもご指摘いただき勉強になりました。
#3.まとめ
今回の共同開発で学んだことのなかで特に重要なものは下記であると考えています。
・Githubについて
(リモートリポジトリの作成、pushやpullなどのコマンド操作、プルリクエスト等)
・CSSの記法(FLOCSS)について
一人の学習では、なかなか学習、経験できないことを学べるので、是非一度挑戦されてみることをおすすめします!
お忙しい中、最後までご覧いただきありがとうございました。