#260 「リファクタリング」から、僕が履修漏れしてたことを伝えたい

2024/6/26 ·

  • この番組は駆け出しエンジニアの順平と先輩エンジニアの海地 則が送る駆け出しエンジニアを中級エンジニアにキャリアアップさせるラジオですというわけで今日は海地 則会順平はちょっと今出張中でいないのでなので僕からですね今読んでる本のリファクタリング古典的名著な気がする



  • を今読んでいるのでその中でちょっと僕が伝えたいことをお話ししたいなというのが本日になりますいいですねリファクタリングちょっと前の回でLearn things that don't changeっていう記事まあ



  • エンジニアは基礎をやるみたいな変わらないものを学べというやつですよねという記事を紹介した時に2024年全エンジニアが読まなければならない本リストみたいなものを紹介していたかと思うんですけどその中にこのマーチン・ファウラー超のリファクタリングが入っていてですねやっぱりこのブログ記事にある通り



  • 必修科目エンジニアの必修科目ですですよねこれ読んでないとエンジニアって名乗れないのかもしれないそんなことないあるあるリファクタリングってやっぱり必要なプロセスだと個人的には思うので必修科目だと思いますはい



  • なので僕は今履修してますもう30過ぎてるんですけどね恥ずかしながらしかもあれですよね第2版からJavaScriptになったから分かりやすいですよねあれ第1版何だったんですかJavaですへーあそうなんだあんま変わんないっちゃ変わんないんだけど僕でも1年目の時に読んだんで心は結構折れそうになりましたねあそうなんだはい



  • 最近っていうか技術書ってJava多いじゃないですかなんでJavaにもあんまり抵抗感はないんですけどでもやっぱり読んでて思ったのは割と優しい本だと思ってますリファクタリングリーダブルコードよりは難しいけどはいはいはい



  • 達人プログラマーぐらいだったとな気がするしかも達人プログラマーも簡単な本なんですよめちゃくちゃ技術的には達人プログラマーは何も書いてないというか技術的には特になくてリファクタリングは技術的なことを書いてるんですけどそんなに難しくない具体例がちゃんと書いてるし言ってることもすごいシンプルなものばかりなんでどっちも中級エンジニアになるために読むといい



  • 属性だよね多分僕も読んでてそうだよねってのがめっちゃ多いなと思いながら読んでたんですけどこのタイミングで読むとねただその中でも



  • 読むまで僕の中でやれてないこと言語化できてなかったとこっていうのを話すのが本日になりますそういうの大事ノリさん読んだことあるので知ってるかもしれないですけど8割以上忘れてると思って大丈夫ですまあでも7割ぐらいカタログなんだあの本そこをちょっとね皆さんと共有できればと思うのでノリさんには補足をしていただきたい頑張りますお願いします



  • じゃあ今日はの大きくリファクタリングの目的ってなんだっけって話と あと逆にリファクタリングすべきじゃない時ってどういう時かとこういう話でまぁ最後にじゃあこうリファクタリングすべきじゃないのここでリファクタリングすべき っていうのはこうでじゃあリファクタリング力をつけるためにこうしていこうみたいな流れちょっとお話しさせていただきます まとまってるはいあのなんせね聞いたりも



  • ぶっこむんでこれはいあじゃあもう原稿が結構しっかりしたのが組まれてる そうですねまあこういう時はね大折りして崩れるんですけど崩れるよねガチガチにすればするほど崩れるんでしょやってるとねわかる プレゼンあるあるそうそうまあ7で行こうと思いますはいまずリファクタリングリファクタリング言うてますけどそもそもリファクタリングってなんじゃっていうところから うんした合わせていきますねうん本書では



  • 名詞と動詞でなんか紹介されてたんですけどまずリファクタリング名詞名詞別にそんな変わんないっちゃ変わんないですけどねリファクタリングは外部から見た時の振る舞いを保ちつつ理解や修正が簡単になるようにソフトウェアの内部構造を変化させることですとなるほど内装リフォームってことですかそうそうそうそうそうそうそうそう



  • 内装リフォームですね機能が変わる可能性ありますけどね確かに浴室乾燥機つけましたみたいな機能変わっちゃってるねそれは違いますからね機能変えずに中身を変えるとリファクタリングするっていうのが一連のリファクタリングを適用して外部から見た振る舞いの変更なしにソフトウェアを再構築することと言ってます



  • これ何が違うかというとですねリファクタリングするっていうのはリファクタリングを積み重ねた行為リファクタリングを積み重ねた行為はいリファクタリングするっていうのはリファクタリングって単体で成り立つものじゃないんですよねほう



  • 単体で成り立つこともあるか単体で成り立つこともあるんですけど積み重ねてやるもの名前変えてとか名前変えたらここが手を荒らしてないからじゃあこっちも修正してみたいなそういう風に単体でやるというよりはリファクタリングというものを積み重ねてやっていくというのがリファクタリングという行為ですと



  • 生活様式みたいな感じですかどういうことですかそういうどういうメタファーそれはリファクタリングという生活みたいなリファクタリングという生活はい



  • なんでもないですちょっと僕の理解力が及ばないと申し訳ないんですけど例えば1日を過ごしただけではそれを生活切り取っただけではそれを生活とは言えないと思うんですよただ1年を見ていった時に日本人というのは四季を通して季節のものを食べて自然に感謝してっていうこの生活が見えてくることによって初めて生活になると思うんですよねそういうことですかそういうことかもしれないまあなんでしょうなんかそのはい



  • 共に過ごすみたいな意味ですよねなんかその深い思ったというか奥行きのある表現ですね非常にリファクタリングするというワードからそういう奥行かしさを感じるそうですねなんか四季の流れを感じました本読みすぎて感受性すごいんですけど感受性がちょっと出ちゃいましたねそんなリファクタリング何のためにやるのって話ですよ何のためにやるの目的の本質ここはですね僕勘違いしました嘘はい



  • 残念なことにこれが理解できるとですねよく聞くようなリファクタリングしなきゃいけないってエンジニアは思ってるけどなかなかプロジェクトマネージャーとか営業とか企画にそれを理解してもらえないみたいな話聞くじゃないですかこう思ってきたら全員勘違いしてますリファクタリングの目的の本質をで



  • リファクタリングの目的の本質は経済的なメリットを出すことだとこの本では言ってますうんうんうんって感じじゃないですかリファクタリングさっき言った通り内部構造をきれいにすることによってコードが読みやすくなりますとコードが読みやすくなると新機能の追加がしやすくなったりトラブル発生時に問題箇所が分かりやすくなるというメリットがありますよねとうんうん



  • 例えば新機能の追加がしやすくなるとコード追加時にコード理解が早くなりますそれゆえ変更する時の変更量が少なくなったりあとどこに何入れればいいかが迷いなく進んだり追加した時のバグが少なくなったりあら早く機能できちゃったコース削減経費削減経済的メリットっていういいですねそれ説得しやすいその発想そう



  • でさっきもトラブル発生時に問題箇所が分かりやすくなるっていうのも障害時にコード理解が早くなるので障害切るわけの非常時の費用が減るなんならバグも減る経済的メリット最高はいっていうので経済的メリットがあるからリファクタリングするわけで別にコードをきれいにしたいからリファクタリングするわけじゃないんだとうんわー確かになそこ



  • 行動をきれいにするが目的になりがちなところではあると思う分かる分かる本当に部屋きれいにしておきたいみたいな話で汚い行動を見てストレス溜まるから直すみたいなそうあるもんね仕事をしてるとそういう風になってくるんですけどそうじゃなくてリファクタリングの目的の本質は経済的メリットが出るだからリファクタリングするんだっていう考えのもと仕事をしていくのもそうですし周りとコミュニケーションを取っていくと



  • もちろん営業さんも企画の人もトラブル起きやすいとか新機能追加時に時間かかるのは望んでないんで今のままだとこうなっちゃいますっていうのを正しく伝えることでお互いにハッピーなコーディングマリファクタリングができるんじゃないかなというのがこの本で書いててその考えいいなと確かにこれはもう今後僕が押し出していきたい確かに



  • それを言ってくるエンジニアすごい事業のこと考えてそうだもんねそうですね資産の高さ感じますよねこれだけは真似するだけでできるんでぜひ取り入れてください確かにすぐやった方がいいこんな経済的なメリットが出るリファクタリングやらない方がいいタイミングがありますこれで言ったらねそりゃそうだって思うかもしれないですけどそうですねちょっと気づきがあったんですここもお話ししますねちょっと気づきがあったちょっと気づきがあった



  • 3つあります機能追加しているとき最中2つ目今動いてて中身を修正する必要がないとき今動いてて中身を修正する必要がないとき3つ目作り直した方が早いとき1つ1ついきますねその1機能追加をしている最中これは



  • いやいや何言ってんだとTDDとかの考えだとテストコード書いてコード書いてレッドテスト通りませんでしたテスト通りより変えますグリーンで次リファクタリング通るコードに対してリファクタリングするっていう機能追加の営みをするじゃないか何言ってんだマーチンよという人いるかもしれないですけどそうじゃないとのりさんもううんうん言ってますけど



  • あれですよね多分そのTDDの中のプラクティスのリファクタリングは今やってる機能に関することだから他をぶっ壊しかねないみたいなことが他をぶっ壊す可能性みたいなのがないちょっと違うかもしれないそれもそうなんですけどこの本の中では2つの防止っていう話が出てきていてどういう防止かというと機能追加の防止とリファクタリングの防止ですで



  • 機能追加の帽子を被って機能追加をします機能追加の帽子を被っているときは機能追加が終わるまでその帽子は脱がないで機能追加して動いたってなったら帽子を変えてリファクタリングの帽子を被ってリファクタリングしましょうって話をしてますこれ何を言いたいかというと機能追加をしてて機能が動く前にこうやって書いた方がいいな綺麗にしようってやるんじゃねえという話をしてるんですね最初は汚いことで動かせと



  • 動いた後にリファクタリングをするTDDの話でもありましたけど最初から綺麗なアルゴリズムなんて作ろうと思うんじゃねえみたいな話あるかなと思うんですけどそれと一緒で機能追加している最中はリファクタリングする



  • のは置いといて動いてからリファクタリングしましょうねっていうのが機能追加をしている最中はリファクタリングするべきじゃないっていうそういうことか意味ですねちょっと勘違いしてましたじゃあはいまあでもそりゃそうだって感じですよねもちろんねその最初に機能追加している最中にねAイコールとかって書いてたら自分でも何書いてるかよくわかんなくなるんでそこは最低限読みやすいコードは書く必要あると思うんですけどうん



  • あとあれですね最近ふと思うというかちょくちょく開発中にちらつくのがあるんですけど早すぎる最適化は諸悪の根源であるという言葉がありまして開発中に何か最適化するじゃないですか



  • でもそれもあんまり早くやりすぎるとすごい部分的な最適化になっちゃって全体を見た時にあんまり効率よくないよねみたいなことが起きがちなのでそういうのも発生しやすいのかなと思いました機能追加と一緒にやっちゃうとそうですね一部だけ見て最適化して広げた後にやっぱりこうやればよかったみたいな手戻りも発生しますしねなんでそのリファクタリングも最適化もオプティマイズ



  • 一段落した後にやるのがよしというのがここから学べますと2つ目今動いていて中身を修正する必要がないときこれはですね今存在しているコードでうわなんだこのクソコードみたいなのがあったとしますとでもそれに対して今後機能追加する予定がないならほっとけとなるほどね



  • 動いてるしなおかつそれをリファクタリングした時に経済的メリットがないんですよコストしかかかんないそれがきっかけで設計不備見つかるかもしれないですけどでもそれはもう出来上がっちゃったものなんで多分それはトラブルがあってバグ調査してそれを修正する時にリファクタリングしなさいっていう考え方なんだと思いますなのでなんかちょっとボーイスカウトルールでもありますけど



  • それのなんかボイスカートルールだと汚いコード見つけたらそこから直せよっていう考え方だと思うんですけどなのでちょっとその境目ちょっとむずいなと思いながらただ



  • 触らないもの更新したりしない行動に対しては触らなくていいんよっていうなぜなら経済的メリットがないからねっていうまあ臭いものに蓋あそうというか蓋すらもせんって感じな気がするけど蓋すらもせんですね触らないでおく置いとこうまあなんか動いてるし大丈夫大丈夫大丈夫はいというのが2つ目今動いてる中身を修正する必要がないときはいで3つ目作り直した方が早いときうん



  • もうこんな時は黙って作り直しましょうっていうまあですよね作り直したが早いんだったらそれは作り直すよ一方で基準はないですこれは本当にそのコードを触るエンジニアがプロとしてどう判断するかですねでも作り直すは大抵の場合めっちゃ時間かかると思いますそうですねこの本書の中でも印象的なのがリファクタリングは



  • 長時間動かないコードを生む行為じゃないとリファクタリングしてるので2週間今コード動かないんですよもうそれリファクタリングじゃねえとなるほどもう振る舞いが変わっちゃってるもんそこでそうですね戻ってこれなくなってるというか小さく変えていくっていうそういうことねそうですっていうのをやっていけよっていうのは言ってるんでね作り直した時が早い時は作り直しましょうっていうのが以上3つリファクタリングしない方がいいタイミング



  • 小さくやるのもまたね既存のコードが小さければいいんですけど莫大なやつとかを大手術しなきゃいけない時とかはなかなか小さくやるのむずいなって思うんですよねそうですねとはいえ多分本当にこの本ではリファクタリングの今リファクタリングというのを重ねてリファクタリングするって言いましたけどそのリファクタリングの中にも変更してコミットするまでが含まれてるんですよ



  • コミットするまでコミットするタイミングって多分動くんですよねだからそれゆえコミットしてるからリファクタリングでミスって戻ってこれなくても戻れるみたいな考え方をしててだから多分莫大なコードでも本当にできるだけ小さく切ってちょっとずつ変えろよできるだけっていう話なんでしょうねそれで多分ちょっとずつ手術できないコードは



  • 構造化されてないコードなんですもんねだから構造化されてないコードに対するリファクタリングでっかい構造化されてないコードに対するリファクタリングは



  • 激ムズ案件ですね激ムズだよねテストも変わるしみたいなテスト変わったら違いますもんねテスト変わるというかテストってだいたいさ1ファイルに対して1テストみたいな勢いじゃないですか1テストというか1テストファイルがあるじゃないですかってなった時にじゃあこれリファクターだってファイルが例えば5個ぐらいに7個にしようかドラゴンボールみたいに散った時にありがとうございますお気遣いそう



  • っていう時に7個のテストファイル作らなきゃいけないというか作るじゃないですか多分ってなった時にもはやテストも変えてるしこれは一体本当に安全なリファクタリングなんだろうかみたいなことが起きるよなってそれは確かにそうだわファイル構造変えるのはねテストケースが変わらなかったらギリのとってる気がしますけどまあ確かにそうかまあでもわかりますうん



  • 世の中の行動全部構造化されててほしいですねそうですね切に願うじゃあ次いつどのタイミングでリファクティングすべきでしょうかって話ですもうでもこれは生活ですから生活なんですね生活までいけてなかったんですよねだから気づいたらじゃないですか気づいたらもそうですけど気づいたらはどうだろう4個のうち2つですね気づいたら



  • 作業開始前全部当てる気それもそうですあと一個怒りを感じたら違うストレス発散みたいなねねちゃんみたいな感じでもうなんかまさおくんが気に食わないことやったら裏行ってパソコンでそういうことそういうこと違います



  • リファクタリングすべきタイミングノリさんがさっき言った作業前新しい機能を追加する前あとは気づいたときこれは見にくい行動を見かけたときとかドライ



  • 2度目3度目に同じコードを見かけた時でもう一個がコードを理解しようとする時っていうリファクタリングで言ってますこれのりさん言ってましたねやってるわそれいやすごと思って僕はこの中のコードを理解しようとする時と新しい機能を追加する前ここでリファクタリングしようって発想なんてなかったなるほどここはちょっと僕はハッとさせれましたねおー



  • なんで発動させられた2個を中心にちょっと喋っていくんですけどまずコードを理解しようとするときですねこれのりさんも前言ってましたけどまあもう少し前段から言うと新しいプロジェクト入ったときにはコード読む必要あるじゃないですか何やってるのかなってねで



  • この何やってるのかなを理解するためにリファクタリングするのが有効ですっていう話をしてますこれなんでかっていうとまず知らないコードを読んでそれがパッと見何してるかよくわからんってなったとき



  • これ一目で見てわかるようにリファクタリングできないかなっていうのをまず考えてみますとそれで実際にリファクタリングをしてテストが動くという状態になったらこれ俺の理解合ってたんだっていう風にできますねこれを聞いて確かにと



  • なんかもう息をするようにだから生活になってる人ですよねだからリファクタリングがそうだね書き換えれるって理解してないと書き換えれないんですよねそうそうそうそう本当にあのインプットとアウトプットで頭が覚えるのと一緒ででなおかつねその自分の生理のためにやったリファクタリングがより良いコードになってたらそれをプッシュしちゃってそしたらみんなハッピーみたいなうんうんうん



  • なおかつリファクタリングしたコードがちょっと良くなるじゃないですかちょっと良くなったことによってあれこの設計もうちょっとこうじゃないとかここの考慮抜けてないとかっていうのが見つかることもありそうじゃないですかそしたらさらにみんなハッピーでだからいいことしかない割とパッと見わからないところに対してこれどうやって



  • どういうことっていうのを理解しながらリファクタリングしていくこれでテストがちゃんと書いてなかったら意味ないんですけどねそうなんですよテストなかったらやめた方がいいですねテストするのは手元だけでやるみたいな時ありますよそうですよねテストないとそうだと思うんですけどもしテストがあるんだったら積極的にやっちゃっていいんじゃないかなというのはこのコードを理解しようとする時にリファクタリングするといいですよって書いてるのを見てこれぞ



  • 達人の振る舞いだと達人の振る舞い思いましたね2つ目新しい機能を追加する前これも僕はやってなかったんですけどもし今のコードが汚い感じになってて機能追加しづれーってなったら既存のコード直して機能追加した方が楽じゃないっていう発想ですね



  • あれですよね料理するときまず手元をきれいにしてからの方がやりやすくないみたいなそうそうこれで地獄パターンは構造化されてないテストもないようなソースコートがもともとあったときに果たしてそれをやるのかっていうのは違うそれは違うですね多分地獄パターンアンチを超えて地獄まで行った地獄パターンヘルヘルパターンパターンオブヘルパターンオブヘル



  • あるからなでも普通にあるでしょうねそういう時はちょっとまず多分レガシーコードから脱却読んでもらってとかかもしれないですねチームとして課題意識があればなかったら持つところからかもしれないですね課題意識なかったらぶっちゃけ変えなくてもいいと思うんですけどねまあ確かにっていうので既存のコードをリファクタリングして新しい機能を追加するそうすることで自分の開発業務が



  • 速くなるし身の回りのコードもちょっと良くなるしみんなハッピーハッピーあれはハッピーっていうのが2つ目新しい機能を追加する前この2つがですね僕は履修できてなかったんでこれから実践していきたいなと思いますぜひやってみてください本当に理解できますコードがいやそうですよねそりゃそうですよねそりゃそうだよなって思いますただふと時間をかけすぎてるんではないかって思う時もあるけどね



  • 分かってないならそうなんじゃないですか分かってないならしょうがないですよね分かる必要があるのかっていうところあるかもしれないですけど理解しなきゃいけないところについてはすごいいいと思います3つ目4つ目はさらっといくんですけど見にくい行動を見かけた時が3つ目これはボイスカウトルールですと汚い行動を見かけたらゴミ拾いのように



  • 醜い行動を取り除きましょう醜すぎた時に目を伏せたくなる時あるんですよねピタって蓋をするじゃん目をつむるこれはってなーね



  • あとハイコンテキストなやつとかどっちだってなるよね俺だけかわからないのどっちだってなることもありますけど仕様の問題とかねそこは本当にコミュニケーションですね4つ目が3度目に同じコードを見かけたとき3度目2度目はいいんだこの本は3度目派ですね世の中2度目派3度目派あるじゃないですかこの本は3度目派です



  • 僕は3度目派です3度目派は分かるしあとこの時は絶対やばいなっていうのはなんかルールが変わった時に何箇所も同じ場所を直してるなっていう時はもうこれ100%アウトだなって思いますね確かにそうですねそのために共通化するんですよね全くもうって思いますよねそういうのを見ると全体で検索かけても本当にこれ検索ワードぴったり一致してるんだろうかみたいなやつとかそうですね



  • 確かにっていうのでリファクタリングの目的とすべきじゃないタイミングとこういう時にリファクタリングしましょうねという話をしてきました最後にリファクタリングの力を向上させるためにという話なんですけど僕この本を読んでてですね世の中リファクタリング得意な人と得意じゃない人がもちろんいるじゃないですか何が違うんだろう



  • って考えた時に2つというか1ペアというか1つ違いがあると思ってて醜い行動を認識してそれに対する解決策を持ってるかそれただひたすらそれただひたすらそれつまりほぼ英単語のボキャブラリーと一緒めっちゃわかるボキャブラリーです結局わかるわ



  • あとでもボキャブラリーもそうだけど単語のコアを知ってるかどうかみたいな 名前ですかなんて言うんだろうあの英語ってさはいあの単語のコアみたいなのあるじゃないですか例えば単語で えっとアンネセサリーとかだったらネセサリーは必要じゃないですかでもアンってついたらなんか打ち消しみたいになるじゃないですか そういうなんか1単語の中にさらに含まれているこういう



  • 状態の時はこういう意味を持ってるみたいなそういうコア的な部分も知ってる必要があるかなと思っててそうですね確かに例えば同じ処理が来たよし共通化しようじゃなくてそれって実はもうちょい深いことを知らなきゃいけなくて同じだからといってそれが果たして本当に同じかどうかまた違うじゃないですかうんうん



  • 例えば共通処理を作る時とかだったらじゃあ本当にこれアクター同じなんだろうかみたいな単一責任原則に沿ってるかどうかとかも含めて検討しないとこの時は同じだったけど実は違うんだって共通化したメソッドに部分がたくさんついて意味ない共通化みたいなのが起きたりするんでもう一段ボキャブラリーより深いところの知識も必要だなっていうのはちょっと思いますね



  • すごく共感できて本当に言葉の意味の違いだけなんですけど英単語力もそこ必要だなと思ってて僕はそもそも何でしょうめっちゃ数多いじゃないですか英単語も多いですしこの見にくいコードのパターンもいっぱいあるんですよ数多いんですよだからこういう時はこれみたいな奥底の糸みたいなものを感じないと覚えられないので



  • だからポキャブラリーそういう意味だとノリさんが言ってたこともその通りなのでその情報のインプットと実践を繰り返していくしかないだと思いますそれをどうやってやるかそれはこのリファクタリングという書籍が全11章中の7章全部そういうカタログが載ってますとこの汚いコードスメルコードスメルがこういうのがあったらこういうことしようみたいなのが超大量に書いてると



  • なのでリファクタリングのボキャブラリー増やしたいなという人はちょっとこの後半を読んでもらうと読むというか眺めといてチャレンジで見たやつだってなったら本ちょっと引いてみるみたいな使い方になるかなと思います数多いんでねあとは有料なんてお金出せませんよっていう人いたらリファクタリンググルーっていうサイトがあるんですけどリファクタリンググルーっていうサイトはデザインパターンゴフの



  • デザインパターンとあとはリファクタリングパターン書いてる サイトでコード進めるとリファクタリングの解決をみたいなデザインパターン日本語あるんですけどリファクタリングが全部英語なんですけどそちらもねあの本当にポップなね狸かなドラえもんじゃない?ちょっと待ってくださいねなんかあれですね思ったよりあの平成



  • 平成た抜き合戦ポンポコ寄りのた抜きですねそうです平成た抜き合戦ポンポコ寄りのた抜きがね笑顔でニコニコノコギリ振り回してるサイトがあるんですけどリファクターた抜きってことですかそれリファクターた抜きのサイトがあるんでねそちらも見てみるとねちょっと面白いかなと思いますのでリファクタリング力鍛えたいなと思った人



  • サイト見るかぶっちゃけ本の方がおすすめですけど楽なんで紙の本買ってくださいですね僕電子書籍で後悔してますそうなんだでも確かになあれ急に飛びたいページ探すのきついよねちょっとめんどくさいですね手元に1冊あるとでも便利な本かもしれない僕これちょっと紙で買うかもしれないいつぶりだろう前もあったらなんか電子と紙2冊買ったの忘れちゃったけどなんか買ってたねなんか買いましたうん



  • 本としては非常におすすめですしあとは初学者向けだと思うのでどちらかというともちろん1年目はおすすめしないですけど多分心配の領域が高すぎて2年目3年目ぐらいは読んだほうがいいめっちゃ軽い本としても知ってることは読み飛ばしていいと思うんで



  • 非常におすすめです確かに読み飛ばして読むの大事だわあれ情報量多いから多いからねであとはそうですねもし要望があればリファクタリングクイズもできそうだなと思いつつ一旦やらないだけっていう感じですねそうですねちょっと情報量多くて音声で伝えるのがむずいそうなんでねでも一緒に勉強していきましょうって感じですはいじゃあ最後お便りいきますねお願いしますラジオネーム



  • ドデカルティンさんからのお便りですまず感想からこのラジオネームは私が好きな哲学者デカルトをセクシーにもじったものです天才ですねこの人すごいねどうセクシーを感じたのかがいやーまあ



  • ドデカルティンじゃないですかドデカルティン中学生だと思ってますよなるほどねそっちの感じねとても気に入っておりますよかった僕も気に入ってますエピソード257で見積もりについての話を何話でしたのかカイチさんが探す際の効果音がずれてました大変申し訳ございません編集ミスについて報告してくれたリスナーのお便りについて回答している際の編集ミスだったのでこれは意図的に誰が早く報告しているかを試しているのではと思い送らせていただきました



  • 多重ミスいやまあでもねあなたが送ってくれると思ってましたようん本当にようやく見つかったかって感じですよね本当ですよトデカルティンさん本当にこれからのピマプロを背負ってくるのはあなたなんでね本当1ポイントあげます1ポイント1ポイントたまたま何に乗せたっけ



  • マグカップちゃんとしてたそれっぽいマグカップを何ポイントか分かんないですけどね1000ポイントで1000ポイントで1円1ポイントかななかなかシビアですねじゃあポッドキャストで話してほしいこと今やってるプロジェクトでコード規約が定まっておらずフロントのコードが人によってインデント数や開業の位置などがまちまちで大変汚い状態です難しいですねうん



  • 自分でコード規約を作成してチームに提案しようと思うのですが コード規約を作る際に気をつけていることなどあれば教えていただけると嬉しいですというので何かありますか ちょっとごめんなさいあんまないんですけどまず気をつけていることで言うとまず世の中のルールに従った方がいいんじゃないかなっていうのがあって おそらく



  • 言語ごとのコーディング標準ってのが一般的にあると思うので一つはそれでいいんじゃないかなって思ってますそしてJSなのであればプリティアみたいなやつ入れて自動で成形した方がいいんじゃないかなとも思ってますあれですねフォーマッターってやつですねフォーマッターか



  • 実行するとコードのインデントとかいろいろを勝手に成形してくれるライブラリですねあれ多分VSコードの拡張を単体で動かせたりする気がするのでそれで良くないと思っちゃうまさしくその通り僕も全くその通り僕も全くその通りです



  • 世の中の標準のものに従うのが良くて何がいいかっていうと標準のものに従ってない状態で例えば転職とかあとはSESの方がいらっしゃるのであれば他の現場行くときに多分いい評価されないですやべえ奴だと思われますやべえ奴だと思われるよっていうのをチームに伝えていただけるとさすがにみんなやばいなって思うと思うんで



  • でまあそういう行動規約従っていきましょうっていうのはまあ合意取れるかなと思いつつとはいえ大変だよっていう風なものに対してはのりさんが言ってたようなフォーマッターですねあとリンター修正してくれないけど教えてくれる系のやつESリンターとかですかねJSだとそうですね



  • チーム全員で入れるのが大事かなと思いますこの辺のフォーマットは例えばプレティアだとしたらどういう風なフォーマットにするのかは設定ファイルで管理できるのであんまり詳しくないですけどスタイルシートに載っとってる設定ファイルテンプレートみたいなのも世の中にあるはずなのでそれを導入してやってみるのが良いかなと思います本当に人を信じるんじゃなくて仕組みで



  • そうならざるを得ないものを作っていくというかそういうのが大事だと思うんでそうじゃないと結局崩れるんだよねなのでそういう仕組み化をやっていくのが非常に重要かなというのがお便りの回答ですね非常にスパッとそれっぽいことを言えてそれっぽいことというか本当にバシッと回答だと思うんでこれがそれ以外ないもっとちゃんと自動化しているプロジェクトとかだと



  • コミットしたタイミングでGitのフックスみたいなのがあるんですけどあれを起点にして自動で成形してコミットしちゃうみたいなのをやってるとこもありますよねやってますやってますか?羨ましいしかもそんな難しくないですよねめっちゃ簡単Git行くのは足すぐらいの気持ちだと思うなんで本当にGoogleいっぱい出てくるんでコミットないし



  • GitHub Actionだってもあるかお金かかるかもしれないんでそうですねコミット時に実行されるスクリプトとしてフォーマット入れるのがいいと思いますリンターとかもエラーだったら出してくれたりするんでね多分この感じだとね使ってないインポートとかあるんでしょうしそういうインポートもなくしてくれるんでおすすめでございますこれをもし現場で適用できたらドデカルティンさんはヒーローになるんでねぜひヒーローになってください



  • これで普通に次回の転職時も話せる内容だと思うんでそうですねいいやんって思う積極性丸能動的に動ける世の中の情報をキャッチしてチームに適応するようなマインドセットができているやるやんってなるぜひやってくださいめっちゃコスパいいですねそんなに大変じゃないしお便りありがとうございます頑張ってくださいというので



  • ハッシュタグひまじんプログラマーでSNSNEXTでフィードバック募集してますリファクタリングなんでしょうねノスタルジックリファクタリングどういうことですか昔リファクタリングしたなって時に今思うとあれはリファクタリングじゃなくて逆リファクタリングだったなっていう思いでうわパッと出るかな



  • あれはノスタルジックいずれにせよノスタルジックならいいんですよねノスタルジックなら何でもいいですねノスタルジックリファクタリングとかのポストお待ちしてますあとはポッドキャスト説明欄からグーグルフォームで番組のお便り要望感想質問何でも募集してますうんうん



  • 本当に感想だけでもいいですしあと編集ミス今日もありましたけどそうですね僕どっちも僕なんで反省していきたいと思います完全にありがとうございます本当によろしくお願いいたします各種ポッドキャストブラッドフォームでのフォロー高評価お待ちしてますので最後まで聞いてしまったあなたそこそこ気に入ってると思うのでぜひフォローお願いいたします評価をお願いします



  • 僕が必修科目一つ押さえたんでまた次別の必修科目を押さえに行こうと思いますよろしくお願いしますでまた次回バイバイさあ皆さん次の商品は目玉商品ですこちらめちゃくちゃでかいエンターキーわー大きいこれがあるとストレス発散生産性アップ快適な睡眠もえ枕にしちゃうんですかこちらの商品はお値段など1024円わー2の10乗



  • そして今番組終了1時間以内にGoogleフォームよりお便りを送った方はちっちゃいスペースキーも付いてきますポケットに入れて持ち運べますね番組の高評価フォローもすると会員割引なんと90%オフほぼただ今すぐご応募

0:00 39:26

#260 「リファクタリング」から、僕が履修漏れしてたことを伝えたい