USCORPORATE2019.12.24KMS主催のUnity勉強会を開催しました!皆さま初めまして!今年新卒にてKMSへ入社しましたエンジニアの新人キムと申します!そんな私がレポートしました内容は、11月21日(木)日本マイクロソフトさんのセミナールームをお借りし開催しました、KMSが主催するUnity勉強会です!ん~、恥ずかしっ(*ノωノ)そして勉強会は開発部のトップ、石渡さんの司会進行で始まりました。ん~、決まってますね~!当日は会場に他社のエンジニアさんを含めて20名程、勉強会に参加していただきました。さん以上2名をお招きして、開発におけるテストと設計をテーマに、テストの意義、テストを行いやすくする設計方法などをUnityでの実演を交えながらの講義や、Unityで広がるコミュニティーの存在を教えていただきました。今回の講義では品質の理解・変更・テストの容易性を踏まえ、ソフトウェア品質の内部品質(プログラム)の保守性に注目していました。ソフトウェア品質とは言葉の通り、ソフトウェアの品質を指し、プログラマの観点からはソースコードの品質、エンドユーザーの観点からはアプリケーションソフトウェアの品質を意味するものです。作り手であるプログラマはコードの可読性、保守性が重要であり、使い手はそのソフトウェア製品のユーザーインターフェースや操作性などのユーザビリティに品質を問います。デバッグ)を念頭に、テストの重要性を知ることができました。実演では、井本さんが作成したスライドと例もとに自動テストを行っていました。Injection(以降「DI」とします)」というデザインパターンを用いてテストコードを組み込んでいました。DIとはデザインパターンの一種であり、具体的には「Dependency」=「サービス(使われるオブジェクト)」とし「Injection」=「サービス」を使う「クライアント(サービスを使うオブジェクト)」とし、あるサービスを別のクライアントに渡し、振るまいと依存性解決を分離することができます。使用するメリットは依存性を追加しようと削除しようと、どのテストを修正したら良いのかコンパイラが教えてくれるところにあります。デメリットもあり、依存性自体は自分で見つけないといけません。...プロジェクト中期での取り入れはめんどくさいですね。テストを行わなければ品質を確かめることはできないので、実際にテストコードを取り入れる際は、プロジェクト初期段階にどの手法でテストを行うか定めてからコーディングしていきたいです。UnityアンバサダーとはUnityの普及やコミュニティの発展に寄与する方々を称える制度です。ないちさんを含む初代Unityアンバサダーの方々です!https://blogs.unity3d.com/jp/2018/12/18/ambassador-ja/今回は自身が運営しているUnityゲーム開発ギルドがどういったコミュニティなのかの説明をしていただきました。Unityゲーム開発者ギルドとは、Unityでゲーム作ってる人たちが知見を共有して助け合うSlackコミュニティであり、プログラマとかデザイナとかチームとかの垣根を超えて相談しあえるような場所です。コミュニティは500人を超える規模で、2018年の11月から2019年の11月までの1年間で20万以上のメッセージのやり取りが行われている、日本では活発コミュニティーの1つです。Unity開発者ギルドでは初心者が気軽に質問でき、経験者が優しく教えてくれる環境というのは社会人なりたての新人の僕からするととてもいい環境だな、と感じました。右も左も分からない新人の僕に開発チームの方はいつも優しくしてくれてお世話になっています。ギルドのそうした様子はそこに通じるものがあるなと思いました。僕自身が新人という立場ではありますが、会社の成長には新しくやってきた方々を受け入れ、成長させることも大事な要因だと考えています。これから先、KMSが大きくなることを考えると、人が増えてコミュニケーションは難しくなっていくと思います。そこで、ギルドのように大人数のコミュニティであっても気軽に聞けて助け合える雰囲気というのを継続していくのは必要なことだと感じました。今の開発チームが大きくなっても互いに協力し合える良い雰囲気は維持していきたいです。