参加した勉強会情報

主催コミュニティ TDD勉強会in仙台
勉強会タイトル 第44回 TDD勉強会in仙台
開催場所 ソシラボ
開催日時 2018年5月10日(木) 19:00-21:00
参加費 無料
募集プラットフォーム connpass
ハッシュタグ #TDDSendai

はじめに

皆さんはじめまして!

はじめてレポートを書かせていただく「あっきー」です!

僕のことを知らない方が多いと思いますので、まず簡単に自己紹介させてください。

あっきーの概要

21歳 O型 ♂
本名 : 渡邊友章
仙台高専名取キャンパスの専攻科を休学し、ITの世界にいきなり「起業」という形で飛び込み、東京で活動を始める。
しかしITの知識が皆無すぎて生活が危うくなり帰仙。
現在二つのプロジェクトを進めながらIT知識の勉強中。

[あっきーのプログラミングレベル]
Progateのレベル : 66
開発経験なし。 Java, JavaScript, html, CSSがほんのりかける程度(世界に挨拶はできる)

こんな異端児でプログラミングど素人の僕が、成長するために、様々な勉強会に参加しようと決心して今回の『第44回 TDD勉強会 in 仙台』に参加申し込みをしました!

参加申し込みをしたのはいいものの。。。

「こんなド素人でも本当に行って大丈夫なのだろうか。。。」
という不安が強かったので、

あのぶるさんの記事 : 勉強会参加にあたって心がけてほしい、たった一つのこと

を読んで謎の自信をもらい、TDDの予習は全くせずに勉強会に参加してみました!

 

TDD勉強会の主な流れ

基本的には参加者みんなでTDD/モデリングを行うそうです。

まずは参加者と相談してお題を決定し、そのお題を解いていく。
進め方としては、それぞれ黙々と進める時もあれば、ペアワーク、あるいはみんなでモデリングをすることもあるのだとか。
そして、時間になったらみんなでレビューをする、というのが全体の流れみたいです!(以下の記事を参照)

かのさんの記事 : 非エンジニアの「かの」が行く。「第41回 TDD勉強会 in 仙台」突撃レポート!!

しかし、TDDがなんなのかを全くわからない僕はいまいちピンときていませんでした。。。

 

今回のTDD勉強会の流れ

会場(ソシラボさん)に着き、主催者である講師の井上岳大さんにご挨拶し、自分がプログラミングド素人でTDDがなんたるかもよくわからないということを伝えました。
すると「大丈夫ですよ!では、まずTDDの概要から勉強して行きましょう!」と優しい笑顔で受け入れてくださいました(感激)

今回は僕が超初心者であり、参加者が講師と僕を含め3人であるということもあり、お題は簡単なものに設定していただきました。
また、TDDの基本を説明していただいた上で、僕は講師の井上さんと一緒にお題を解いていき、その間にもう一人の方は黙々と作業していただくという流れになりました。(恐縮です)

TDDの基本的な説明を受け、わからないところは都度質問させていただきました。
TDDがテスト駆動開発という言葉の略であるというのだけはなぜか知っていたのですが、完全にイメージしていたものと違いました笑

TDDはプログラム開発手法の一つだったんですね。
テストという単語が最初にきていたので、プロダクトコードありきで、特殊なやり方でテストしていく方法のことを言うのかなというざっくりなイメージをしていましたが、

TDDというのは、プロダクトコードがないゼロの状態から、テストコードがスタートで進める開発手法のことだそうです。
(プロダクトコードに無理やりテストコードを追加していく方法もあるが、非常に大変らしい。 詳しくはレガシーコード改善ガイド (Object Oriented SELECTION)という本に記載されているそうです。)

TDDのもう少し詳しい説明は引用によりご紹介させていただきます。

テスト駆動開発 (てすとくどうかいはつ、test-driven development; TDD) とは、プログラム開発手法の一種。プログラムに必要な各機能について、最初にテストを書き(これをテストファーストと言う)、そのテストが動作する必要最低限な実装をとりあえず行った後、コードを洗練させる、という短い工程を繰り返すスタイルである。

〜wikipediaより〜

自分が理解した言葉をWikipedia先生が言語化してくださっていて助かりました笑

まさにこの説明を井上さんが、実際の開発手順を見せてくださりながら説明してくださいました!

非常にわかりやすかったです!

最後はレビュー!

説明していただきながらであったということもあり、全てのお題を終わらせることはできずにレビューの時間に。

レビューの時間がこれまた面白かったです!

基本的にレビューし合うポイントは以下の2つ。

  • テスト項目の妥当性(テストコード)
  • コードのきれいさ(プロダクトコード)

「こういうテストも必要じゃない?」
「このテスト、こういうテストにしたらこれいらないよね?」
「ここのプロダクトコードこうしたらどう?」

などとディスカッションが始まりました!

残念ながら自分は勉強したことのないプログラミング言語だったので理解することに必死になっていました!笑

時間はあっという間に過ぎて終了時刻に。。。泣

 

まとめ

僕が個人的にいいな! すごいな!と感じたことを以下にまとめました。

  • 少人数だからそれぞれのレベルに合わせてもらえる!
  • 超初心者から上級者まで楽しめる!
  • プログラマーの癖やこだわりが見れる!
  • 普段使用しないプログラミング言語に触れられる!
  • どんな言語でも解説・アドバイスできてしまう井上さんすごい! 説明も本当にわかりやすい!

開発の経験がある方はより楽しめるのだろうなと感じたので、これからスキルを磨いてまた参加したいです!

また、僕みたいな初心者の方には、開発を始める前から知っているとアドバンテージになるような知識になると思うので、興味がある方は是非参加して見てください。

この記事を読んで一人でも勉強会に足を運ぶ人が増えたら嬉しいです!
有意義な時間をありがとうございました!

==================================================================
今回の講師:井上 岳大 氏
井上さんは、仙台でフリーランスプログラマーとして活躍されており、
DDD Alliance(ドメイン駆動設計アライアンス)設立メンバー。
TDD勉強会だけではなく、DDD勉強会の主催でもある。
コードレビューには定評があり、その鋭い指摘は「マサカリ」と呼ばれている。
==================================================================


The following two tabs change content below.
あっきー

あっきー

仙台高専名取キャンパスの専攻科を休学 → ITの世界にいきなり「起業」という形で飛び込み、東京で活動を始める → ITの知識が皆無すぎて生活が危うくなり帰仙 → 現在二つのプロジェクトを進めながらIT知識の勉強中 将来の夢は世界一周 10/196