#256 テスト駆動開発でコンビニのマニュアルを作ろう

2024/6/12 ·

  • この番組は駆け出しエンジニアの順平と先輩エンジニアの海地 則が送る駆け出しエンジニアを中級エンジニアにレベルアップさせるラジオ番組となっておりますちょっと片言じゃないですかギリギリギリギリきましたギリギリやわだったよ今さあ今日はですねちょっと



  • 僕反省してることが一個ありましてめちゃめちゃよく聞く単語なんだけどもう言葉の雰囲気からなんとなくそうだと思い込んでしまってたみたいなことってよくありませんかいっぱいあるいっぱいありますよね例えばありそうだけど例えば例えばストリームストリーム何どうだと思ってたなんだと思ってたちなみになんか



  • FF7のライフストリームみたいな感じかなっていう回数いるやんFFやったことねーわ流れてるエネルギーみたいな感じで流れてくる感じなのかなっていう



  • 間違ってないんじゃないか間違ってますけどちゃんとシステムと結びつけられてはなかったというかただ小川みたいに流れてるなっていう気持ちでストリームかって思ってましたなるほどねあれ小川って意味なんだ英単語的には多分小川とか結構なんかちょろちょろ系なんだねちょろちょろ系だと思ってました今英語検索版がなんか重い



  • 流れ流れ小川も一つですねもうちょいダイナミックなイメージありましたけど小川としましょうかはいありがとう



  • 僕らの想像する小川と向こうの想像する小川が一致してるのかわかんないですけどね確かになアメリカぐらいになると石狩川ぐらいあるかもな石狩川は北海道すぎるんですよ北海道すぎる?北海道すぎる流域面積長さともに第3位なのに日本でえーそうなんだ知らんかったわ3位なんだともに3位なんですねともに3位1位しか抑えてないからな1位は利根川でしょ長さが違います面積です逆?流域面積です逆?はい



  • 品の川が長さはいそうだと思います逆でイメージしてたな



  • そんなこと多いよまあいいよどっちもいいよどっちも小川じゃねえしそんな中ですねそんな中ですねストリームの話するんですか今日はストリームじゃないですストリームじゃないですそこで出てきたやつ掘り下げるのやばいでしょ今日ですねテスト駆動開発のお話をしたいなと思っておりますテスト駆動開発僕の中のテスト駆動開発のイメージ先にテストを書く実装するテストが通ったことを確認するだけだと思ってたんですよ何が違うんですか



  • 全然違いましたこれそれはテストファーストではあるんですけどテストで駆動してはいないその書き方はなので今日はちょっとテスト駆動開発ってこんなにテストで駆動するんだっていうお話をしていこうかなと思ってますんでやっぱりいきなりテストって言われてもちょっと小難しい話はって思っちゃう方もいると思うんで今日はなんと



  • ビュッフェだったところに新しくできたコンビニマジかよちょっと待って3タイトルだったの今の数秒のワクワクしちゃったわビュッフェだったところに新しくできたコンビニで例えていこうかなと



  • どういう状況なんですかね建て直されたんですかもしくはここ売店にした方がいいなってなったんですかねやっぱりここの街の人大食いじゃないけど不節制が多いからコンビニの方が儲かるなってなって盆焼くっすねそういうこともあっていいと思いますそろそろもうビュッフェいいかなって思い始めてきたところでもあったということでここでちょっと一発打ち崩していこうかなと思います続きそうですねそのビュッフェだったところシリーズが



  • 便利だもんなもう何でもいけますからね全てから解放されてるからこれはいということで今回はどんなシーンを想像していただきたいかというとはいコンビニのマニュアルを作ろうのコーナーですねほううん



  • で今回は先にそのテストを作っていくって感じなのでそのリハーサルをする人がどんどん新しいシナリオでテストをしていくというそういうシーンをちょっと想像してもらえたらなと思いますじゃあ本当にマニュアルを作っていくのがゴールなんですねそうですなので基本的に店員さんはそのマニュアル通りにしか動かないと思ってくださいはいはいはい



  • ということでテスト駆動開発ってざっくりまず概要をお話しするとですねまずは実在しないコードのテストから書きますと実在しないコードねそうですまだ存在しないコードの例えばこれからじゃあコンビニ作るよってなったらコンビニのテスト作るんですけどまだコンビニはないみたいなうんうん



  • 側だけあった方がいいですか?いやないコンビニすらないコンビニすらないさらちまずは店員のテストだけ書いてさらち先に店員のテストを書いてるんですね確かにコンビニじゃあもう本当に立てるとこからなんですねそうなんですで



  • まだコンビニないからコンビニ作るもう面白いわまずコンビニ作りますコンビニ作るんですか一旦まず土地の整形から始めるまずは土地はあるとしてどのくらいのコンビニにしようかなとか一旦マニュアルだけ書いたりしないですか



  • 書かないですまずは最初のテストケース作ります最初のテストケース店員さんのですよねうまい棒と100円を店員に渡すとうまい棒と90円が返ってくるちなみにうまい棒は現在11円なんですけど分かりやすさのために10円にしています優しい



  • ハッピーケースうまい棒なんですねうまい棒ですうまい棒と100円渡すとうまい棒とお釣りの90円が返ってくるというテストケースですただまだコンビニがないのでまずコンビニ作ります箱だけというかコンビニがポンとできましたまだマニュアルなんもないんですけど店員をとりあえず配置しますとうまい棒と100円を持ったテスターがやってきました渡します



  • でも店員さんまだマニュアル白紙なんで1ミリも動けないです一言も喋んないし突っ立ってるだけですよね瞬きだけしてるこれは要はテスト失敗ですよね失敗してますなんでテストはまず失敗しましたとこれでまずテスト失敗することが確認できたんで続いて店員に追加実装しますマニュアルかそのマニュアルにはこう書かれてます



  • 商品とお金を渡されたらうまい棒と90円を返しますよというマニュアルを書きますとで次また新しくというかまた改めてやってきましたとうまい棒と100円を持ったテスターがそうすると



  • マニュアルには商品とお金渡されたらうまい棒と90円を返すって書いてるのでうまい棒と90円を返しますとこれで買い物が成功しましたやった1個テストが通りましたただもううすうす気づいてると思うんですけどこれだとコンビニとして成り立たないですよねなぜならマニュアルはどんな商品渡しても何円払ってもうまい棒と90円が返ってくるから間違いない



  • なので続いてテストケースを追加します次のテストケースうまい棒と10円を渡しますそうするとうまい棒だけが返ってくるというテストを書きますまずは実行しますよとそのテストを新しいシナリオちなみにこの場合テスト毎回全実行してるんで一番最初のテストもやってますなるほど



  • なのでまず最初のテストはもちろんさっき通ったんでパスしますと続いてのテストもやりたいんですけどそれをやった時まだうまい棒と90円が返ってくるので10円払って90円が返ってきましたラッキーだけどこれはテスト失敗ですよねなので続いて手に新たなマニュアルをお渡ししますはい



  • 商品とお金を渡されたら渡されたお金から商品の価格を引いてそれをお釣りとして返してくださいねっていうマニュアルを追加しますこうすると最初のテスト



  • はちゃんとした額でお釣りが返ってきたので通りますよね今回のテストもお釣りちゃんと計算してるんで正しい結果が返ってきますこれでうまい棒を1個渡すとお釣りを計算して返してくれるマニュアルができましたと素晴らしいただまだ全然足りません続いてハーゲンダッツと500円を渡すと



  • ハーゲンダッツと270円が返ってくるというテストを作りますハーゲンダッツは230円ですか知りませんそんな安くない気がしてますけどそうなんですかね230円としましょうはい



  • そうするとなんで渡すと270円とハーゲンダッツが返ってきますと続いて実行しますそれをテスターがまたやってきました店員さんにハーゲンダッツと500円渡しましたするとさっきのテストだとお釣りの計算はするんですけど商品はうまい棒返してくれるようになってるんでうまい棒と270円が返ってきますはいはい



  • これはテスト失敗ですよね他の商品買えなくなってしまってるとなのでここで追加で実装します商品を返すものは渡された商品を返しましょうという実装に変更しますとそうするとこれまでのテスターもちろん通りますよと



  • うまい棒渡したらうまい棒返ってくるしハーゲンダッツ渡したらハーゲンダッツが返ってくるってことになってるんでお釣りの計算もできてるんで今回のテストも含めて全部成功しましたとこれでちょっとなんかやっとコンビニっぽくなってきましたねとやっとなってきましたただしまだねダメなんですよ続いてのテストケースハーゲンダッツと100円を渡すと金額が不足してますと言ってくる



  • っていうマニュアルを作りますなるほどこれまでのお釣りの計算は渡された金額から商品の金額を引いた分だけ返してくれるっていうのになってたんで今回のテストケース実行するとですね



  • ハーゲンダッツ買いました100円でハーゲンダッツと借金130円が返ってきます謎の状況ですね正しいかもしれないけどね商売としては確かに成り立ってるかもしれないんですけどあんまりコンビニで付けで買えないと思うんでないですね断った方がいいですねそうなんですよ



  • なんですけど今のままだとそうなってしまいますとなので続いて商品の金額に足りてなかった場合渡された金額がお金足りてませんよっていうマニュアルを作りますこれをやることによって金額が足りないケースっていうのも含めて全部のテストが通るようになりましたうんうんうん



  • しかしコンビニっていうのはね非常に厳しい世界なのでいっぱいルールがあるんですよはいはいはいただ全部やると死にたくなるのでそうですねはい次でラストのテストケースにしようかなと思いますはいはいで最後のテストケース宅配物とお金を渡すと送り状の写しとお釣りを返してくれるっていうテストを作ります必要だ確かにはいで



  • これ実行するとですね今のところの実装だと渡した宅配物がそのまま戻ってきますお釣りと一緒にこれだと自分で届けるしかなくなるんで悲しすぎますよね謎のお釣りねお金ちょっと取られて宅配物は自分で運ばなきゃいけないっていう悲しい失敗が起きるんですよなのでもしもらった商品が宅配物だった場合はえーと



  • 送り状の写しとお釣りを渡すっていうのにします送り状宅配物を届ける処理に関してはこれは別のクラスがやるべきだろうということで一旦テストケースから実装というかテストからは覗かせていただきました



  • これを実行することによって商品だった場合はちゃんと買おうとした商品が返してくれるし宅配物だった場合はそれを何かしら送る処理にしてくれそうな感じが出てきましたこれでようやくテストケースというかマニュアルができましたねとここで



  • 少し問題があるんですよ実はこれまでのマニュアルってずっと書き足してきたんで汚いんですよ順番は思いついた順になってたりとかそうですねなので最後このマニュアルを綺麗に書き直しますそういうのやるんですねそうすると今回の場合ってテストのケースが全部揃ってるんですよなのでマニュアル変えましたと



  • でマニュアル変えた状態でテストを全部実行し直しましたとでこれで全部通ったらそのアプリケーションがまず壊れてないってことが分かるんですねその上で綺麗なマニュアルを手に入れることができてめでたしめでたし



  • というのがこのテスト駆動開発のですねライフサイクルとなっておりますライフサイクルなのかな死ぬまで言わないといけないけどまあでもそうですねサイクルですねこういうリズムで開発を進めていきますよっていうのがテスト駆動開発なんですけど僕が最初にこのテスト駆動開発のやり方を読んだ時にめっちゃ思ったのは



  • こんな細かくテスト書いていくんだっていうのがね結構衝撃だったというか僕の中のイメージ本当にテストだけ最初に一発書いてその後実装するっていうものだと思ってたんでこんな風にやると思ってなかったんですよいきなり今回で言うとうまい棒じゃなくて商品っていう感じでやるぐらいのイメージでしたよねこれ読んだ本がですね超絶超絶



  • ソフトウェア設計入門っていう本を読んだんですけどそこにも書いてあったのは最初からクールなロジックを実装しようとしてはいけないと鉄道開発においてはまずは単純なケースをどんどん積み重ねていってそれをパスするようにしていくことによってあんまり最初から頭の中でごちゃごちゃ考えてロジック作る



  • っていうのってすごい漏れが出やすいんですけどこのケースでやっていけば確実に動くソフトウェアが常に手に入り続けるっていう確かに気づいたらアルゴリズムができてるらしいですっていうのがこのテスト駆動開発のメリットというかっていう部分にあるっていうのを知ってですねすごい尖った戦略だなというかよくこんなの思いついたなってめっちゃ思ったっていうね



  • 人間って結局複雑な物事を考えるのって限界があってでも世の中に複雑な物がめちゃくちゃいっぱいあるじゃないですかなんでそれができてるかっていうと分けたからなんですよね多分複雑な物事をめちゃくちゃ細かく分けて綺麗に積み上げられたから複雑な物が多分動いたりしてるんだと思うんですけどテスト駆動開発って



  • まさしくそれをやってると思っててものすごくシンプルなただうまい棒を渡されたらうまい棒とお金を返すっていうところから始めて多分最終的には品出しとかいろいろそういうのを含めてとんでもないものができるというかしかもとんでもないものってさっきのりさんが言った通り直そうと思うと実はこっちに影響ありましたみたいなのがあったりもするんですよで



  • テストファーストとかテストを後で書くような形でやってると実装と一緒にテストって書かないので実装コードの中のここの部分テストできてないっていうのはやっぱできるんですねできるただテスト駆動開発でやると細かくテストを書いてからそのテストが通るコードをコードの方で書けるので



  • コードが壊れてないっていうのを保証できるんですねっていうのがだから本当にリファクタリングするときの安心感がめちゃくちゃ違うんですよ思い切って壊せるんですよねかなりっていうのでコードの品質が上がる壊しやすいコードもできるしあとは壊れてることを検知しやすいテストができるテストもちゃんと明々ちゃんとしたらどういう動きするかっていうのが読み取れるテストになるのでそういう面で本当にテストもコードも



  • TDDやるとめちゃくちゃいいよなって思いますめちゃめちゃ良さそうだなって思いましたちなみに僕が結構衝撃だったのは超絶ソフトウェア設計入門の方じゃなくてちょっと前に紹介した



  • クリーンクラフトマンシップにも実はあってあれの半分TDDの話なんですけど知らなかったその中で出てきてたボーリングのゲームのスコア計算をするプログラムめんどくさそうあれって実はめんどくさくてガーターもあるガーターG-U-T-T-E-R



  • 日本ではガーターって呼ばれるかもしれないけど僕はガルーって呼んでいこうと思うんですけどいいですねガルーの場合はGってなるじゃないですかそういう教授いたわ大学にいたー一発で決めたらストライクになるじゃないですかストライクの場合は次の2フレーム分計算追加されるじゃないですかフレーム?1ゲーム分2等分というか1ゲーム分か



  • スペアの場合はその次の一等分だけ入るじゃないですかっていうのでルールが非常に複雑であるとこれをじゃあいざプログラミングしようってなった時に最初からねクールなコードを考えようとすると無駄に複雑なの作っちゃいそうになっちゃうドツボにはまりますねクリーンクラフトマンシップで紹介されている最初に考えたアルゴリズムもすごいそれっぽいんですよ



  • 確かにこうやって作りそうだなみたいなだけどそのテスト駆動進めていった時に実はもうこれで全部できてるんだよってなった時の衝撃が結構やばいっていうねへーほらねってボブ王子さんが言ってくるんですねまだ途中かと思ってたら実は完成してたみたいなへー



  • ほら人間は最初からうまいものを作ろういいものを作ろうとすると考えすぎちまうんだバカ野郎みたいなボブ王子さんの教えそうっていうのをね結構実例で見るとね衝撃を受けるというかめっちゃいいですねなんかこう言ったらあれですけどこの



  • ケントベックさんでしたっけテストクド開発僕は4年前くらいに読んだんですけどそういう快感はなかったですね実際にやる方法は書いてはいるんですけど本に書く説明用のすごい簡単なプログラムだったんでさっき言ってたような快感は別に得られずだったんで



  • なんか言ったらそっち読んだ方がいいかもうんうんうんまあなんか僕逆に原点の部分を読んでないんで一応リスペクトとして読んでおかないとなっていう気持ちにはなりましたね今なってますいいと思いますうん



  • ただちょっとその衝撃はねぜひ本で味わってほしいのでクリーンクラフトマンシップとかあと超絶ソフトウェア設計入門にもあるんでねぜひ実際の行動でTDDやった時にどういう風になるのかっていうのをね見届けてほしいなというか超絶ソフトウェア設計入門の方は別の



  • 衝撃あるんですよそっちの方はフィズバズよく駆け出しエンジニアが実装することでおなじみフィズバズ問題3で割り切れたときがフィズ5で割り切れたらバズ3と5の勾配数で割り切れたらフィズバズ



  • それ以外だったら数字を返すっていうプログラム通称フィズバズ問題って言われてるんですけどなんでフィズバズなんですかねフィズとバズだからだよフィズとバズ出してるからですねそうなんだそういう単語なんだあと派生系だとTic Tac Toみたいなやつもありますよね知らないけどルールは大体同じ感じ一緒ですよね



  • そのフィズバズを作るんですけど作った後にとんでもないリファクタリングをしてでもテスト通るからOKだよねっていうのを別の衝撃がありますあれはあれでなのでどっちもおすすめではありますねTDDを衝撃を味わいたいならもっと言うとユニットテスト好きになるんですよ



  • TDDやるようになるとやりたくて仕方ないんですよ僕はカイスさんはTDDでプロジェクトを進めたことがあるんですかプロジェクトというかあれは個人の問題なんでプロジェクトとしてやるというよりは個人の進め方の問題なんで僕はユニットテストがあるプロジェクトではTDDでやってますないときはないなと思いながら



  • やってますそれは流度的にはのりさんが言ってたぐらい結構細かくやってたりするんですかちょっと省いてるちょっと省いてますけど最終的に教科一分割で同時でテストできるぐらいのテストにはなるようにはなりますけど設計考えるの楽しいじゃないですかうーん



  • これって例えばフィズバズで言ったらどういう風にやるんだろうって謎解き難プレイみたいな気持ちなんですけど僕はフィズバズとかボーリングのアルゴリズムとかも特にそうですけどそれを考える一歩一歩踏み出して歩いてる着実に一歩一歩進んでる感がやっぱ出るんですねなるほどリズムができるというか



  • 終わった後にテスト書くのが面白くないんでやっぱり作りながらテストできて終わった後これ全部取るから絶対大丈夫だこれって安心感もありますしなるほどなだからユニットテストが好きになるんで今ユニットテスト嫌いな人なんでやるねんって思ってる人は



  • でもなんか開始とかプロジェクトからはやることを求められてる人はTDD読むともうちょっと楽しく仕事できるようになると思いますユニットテストつまらない説みたいなやつちょっとあるじゃないですかありますありますその理由も書いてあったんですけど



  • テストコードって最初に書いてればそれが設計の役に立つというかフィードバックくれるものになるんだけど後で書くとどうせこう動くって分かってるものを書くからつまらないみたいなそうそう既存のコードが通るようにテストを書いちゃいますもんね



  • どうせ通るしみたいなのもめっちゃあるからつまらないみたいなだけど最初から失敗するものを書いてそれを通していくっていう快感をいいリズムで繰り返すとまずテスト楽しくなるよって言ってましたねパズルのピースはまったみたいになりますからねパチンみたいなねやってない人はもったいないですそうなんだやろうやろう



  • これは自分でやるだけですもんね自分でやるだけですユニットテストがあれば誰にも迷惑まあまあまあまあ迷惑かけないですよ別に導入してもなんか文句言われるのかなないないないこれTDDでやったよねって言ったやつは天才ですね意味がわかんないです結構むしろTDDでやった方がいいコードができるって言われてるんでね時間も別にかかりません一緒普通にテスト書くのと



  • それでもし時間がかかるんだったらもともと書いてたテストが不足してるかコードが適当だったか何かだと思いますなるほどねしかしコンビニかっていうのですごい



  • ちょっと刺激を受けましたわコンビニめっちゃいいわコンビニ最初さらちな理由が何かあるかなと思ったんですけど特にボンって立ちましたねあれは実際のコードでやっても同じなんですけど最初にテストコード書くじゃないですかでもその時クラスないから



  • まずクラスが文法的にエラー出ないように書かなきゃいけないんですよそういうのを表してたんですね実はそれを表してましたなるほど伝わってなかったです僕にはありがとうございます別にネタで最初さらちにしたわけじゃないただたださらちにしたそこにボーン立てたんかと思ってましたけど違うんですね言語によると思うんですけど例えばPHPとかPythonとかRubyとかって



  • コンパイルとかないじゃないですかないですねなんですけどJavaとかDotnetとかそういうのを使うとコンパイル必要になるじゃないですかでもその時ってクラスないとコンパイル通らないからまずはコンパイル通るようにしてからテストコードをパスするようにするっていう2段階踏むんですようん



  • コンビニ作るは要はそのコンパイル通すみたいなところですねなるほど確かに知られざる意図が他にも含まれてるかもしれないですねいやいや他はないんじゃないかなハーゲンダッツが230円の理由とかすごいなワンピース並みに伏線張られてるなかもしれないね



  • はいありがとうございますというのでちょっとTDDの意外と勘違いしてたなっていうところがあったので今回例えて紹介させていただきましたありがとうございます本当に普及していきましょうまだやってない俺が言うのもあれだけど普及していこうと思います中級エンジニアになるために一応必要って言ってますからねひまプロも



  • あーひまプロも言ってたっけ言ってた気がするできる力みたいな多分それをのりさんが俺やったことないから一応ギリ中級エンジニアみたいな感じで言ってたけどそんなことあったわ後ろめたさを感じてたようなまだ感じてるやっていきましょうお便り紹介しますラジオネームひろキングさんからのお便りですありがとうございますありがとうございます



  • ポッドキャストで話してほしいことシンプルかこ簡単に考えるコツらしいですねこんにちは皆さんの放送を聞いて自分も暇を作りたくなり会社でのエクセル作業のマクロを作り自動化しました自分の作ったものが動くと楽しくなり他にも自動化できないか考えてます



  • その時になるべくシンプルに簡単な手順を考えたいのですが難しい方に面倒な方に考えているような気もします皆さんはプログラミングや仕事で考えるときに分かりやすさや効率よくするために気をつけていることやコツがありますかとTDDってことですかそれもあるよねTDDはまさしくそうだねシンプルの極みだよねあれはありますか



  • プログラミングや仕事仕事はまずありますね常に本当にそれはいるのかって問いかけ続けるというか実はいらないことってあるじゃないですかいっぱいあるしね気づかずに出てきたらそれをやらなきゃみたいなのがあると思うんですけど本当に必要なんだろうかって毎回思うっていうのは大事な気がしますねそれで必要ないなってなったらそれが省けてシンプルになるって



  • 個人の判断で省くのはあれなんでこれって意図とかどうなってるんですかみたいなところで意図聞いてそれであれば実はこれなくてもそっちの方が採算合うんじゃないですかみたいなところで交渉しに行くというかという動きは取るかもなるほどコードだとこれも結局問いかけだと思うんですけど果たしてこの関数は



  • 一言で表せるんだろうかみたいなうんうんうん条件分岐入ったらちょっと怪しいよねなるほど分かる分かるまあ言うはやすしですけどねやるはかたしなんですよね分かる



  • あんまないかもな僕一応行ってからじゅんぺんが何か思い出すかもしれない先に言わせてください仕事仕事で言うとあんまりスイッチしないようにというか他のタスクをマルチで一緒に進めるみたいになるとシンプルに進められないなっていう気はしてるんでそれをやる時間をとってバッと一気にやるどうしてもやれない時もありますけど



  • っていうのをやっててただこれはタスクが溜まっちゃうこともあるんでちょっと微妙だなぁとも思ってますけど今はそういうやり方してますねそれにコミットできるようにその一つのタスクなんでそれはなんて言うんでしょうねそのタスクっていうよりは頭の使い方的な感じでシンプルになるって言うんですかねなんて言うんだろう分かる気がする脳のメモリの使い方がシンプルだよね



  • そういうことねシンプルに考えるコツはそっちねそれもありだと思うよかなと思いましたね仕事だとプログラミングは最近プログラミングできてないという悲しい点もあるんですけどあるよねそういう時期結構2,3ヶ月くらいあんまかけてないですねもうちょっと我慢髪に線とかにょろにょろを引くんだっけいってませんどういう仕事だ仕事してるフリみたいな



  • ドキュメント教育ですねまあまあでもプログラミング書くってなった時にやばいないかもしれないいかんない僕は一個本当に伝えたい僕が失敗したことなんですけどまずシンプルに考えるコツは僕BeLazyが全てだと思います怠惰であれ怠惰であれ



  • 僕めちゃくちゃ真面目なんですよねめちゃくちゃ真面目で1,2,3年目の時にめっちゃ失敗したなっていうのはやっぱり独自の地図企画に



  • に対して何だろうな何々の文字列を入れられた時にこことここの緯度経度を表すみたいなそういう変換ヤムルをありえんりょう作ったんですよたまーに言ってますね日本全国の都道府県の独自マップ県ごとに規格が違う独自マップのマッピングを全部自力でやったんですけどそんぐらいのヘだと思ってやるぐらいの人間だったんですけど馬力がありすぎてやっちゃう真面目だし馬力もあるし



  • それは良くなかったなと思ってて多分本当は頭の使いどころだったんだろうなと今となくては思ってますなので僕はシラフだと意識して怠惰であるようにしててめんどくさって強く思うようにしてます本当に意識してめんどくさって思うようにしててめんどくさって思うことによってこれもっと改善できるかもなっていう取っ掛かりをそこから得てそこから考え始めるみたいな



  • 結局気づかないと無理なんでシンプルに考えるってこれ複雑だって気づかないといけないんでその嗅覚を磨くみたいな直感に敏感になるって大事だよね便利なサービスが出てきた時にさ確かにこれ不便って思ってたのにその発想できなかったなみたいな気づいてなかったなみたいな時あるじゃんありますあります言われたら分かるけどみたいなノリさんが一回言ってたバイアス系の話で



  • なんか本読んだやつでノイズかなそういうそっちの無意識のとこにある領域じゃないですかそれを気づくかどうかあれちょっと違いました?いや違うごめんその後何かが続くのかなと思ってうーんって聞いてた何か続けようと思ってた思ってました思ってましたけど忘れましたすっとんじゃったすっとんじゃいました



  • エンジニアの三大美徳でもありますけど傲慢怠惰短期その精神を持つのがシンプルに考える上で重要なんじゃないかなと思いますそれを具体的にどうやって持つかは意識するしかない意識するしかないですねGoogleの検索結果の件数あるじゃないですかはい



  • あれが適当な数字になってるのすごいいいなって僕は思うんですよねどういうことですか適当な数字例えば



  • 不動産のサイトだとしてうちのサイト183万5672件の物件がありますみたいな厳密に計算すると大変だからもうなんか180万以上みたいな丸めた表示をするみたいなあの平らさとかいいなと思います確かにそんな細かい位置から1000以下のところ変わってもどうでもいいなみたいなそうそうそうそう



  • シンプルですねただ一方で職種によってはそれを求められないところもあると思うのでお金回りやってる人とかねその辺は自分の職種と考えながらやるといいんじゃないと僕は思いますという感じでしたヒロキングさんお便りありがとうございました確かにエンジニアじゃないのかない可能性があるどうなんでしょうねわかんないというので



  • ハッシュタグひまじんプログラマーでSNSのXでフィードバック募集してますのでシンプルに考えるコツであったりテスト駆動開発なんでしょうねやりましたやりましたってやりたいですもしくはこんな駆動も開発してみましたみたいなこんな駆動こんな駆動開発いっぱいありますもんねなんとか駆動開発でねいっぱいあるいっぱいあるなんとか駆動開発ねお待ちしてますあとは



  • ポッドキャストの説明欄からGoogleフォームで番組名のお便り要望を募集してますので今日みたいにお便りでもいいですしただ感想だけでもいいので気軽にお願いいたします聞いたよっていうシンプルなメッセージでもいいですねいいですねシンプルフォームにね聞いてるよってよかった聞いてくれてると思うんだね読みますよちゃんと聞いてるよって読むちゃんと読むんでお願いします



  • あとは各種ポッドキャストプラットフォームのフォロー高評価お待ちしてますのでそちらもお願いいたしますバシバシお願いしますではまた次回の何かの例え話広告期待ですねそうですね幅が広がったんで広がったはいではまた次回バイバイある夜ねいつものようにコーディングをしていたんですよそしたらね夜なのにインターホンがピンポーンピンポーンってなってね



  • こんな時間におかしいなおかしいな司令が来る予定もなかったのになって思ってドアを開けたらねうわああああ怖いほど成長できるひまじんプログラマーの週末エンジニアリングレッスン

0:00 36:03

#256 テスト駆動開発でコンビニのマニュアルを作ろう