Transcript
00:00:00なぜ多くの人が、長年この分野で働いているにもかかわらず
00:00:04成長できないのでしょうか?それには様々な要因があります。その理由の一つは
00:00:09プログラミングの根本的な原則を理解していないことです。これらは一度学んで
00:00:14忘れてしまうような単なる理論ではなく、開発者として実際に成長するために不可欠なものです。
00:00:19まず第一の原則、「ボーイスカウト・ルール」から始めましょう。これはアメリカのボーイスカウトから来ています。
00:00:25彼らには「キャンプ場を訪れた時よりも綺麗にして去る」というシンプルなルールがあります。
00:00:31「アンクル・ボブ」を知っている人はどれくらいいるかわかりませんが、彼がこの概念を
00:00:36プログラミングコミュニティに広めました。つまり、コードを触る前よりも少し綺麗にしてから去るという習慣です。
00:00:41既存のコードベースに変更を加えると、しばしばコード品質が低下し、
00:00:47技術的負債が増えることがあります。この技術的負債は、どんなに小さなことであっても
00:00:52継続的な改善によって減らすことができます。例えば、ある関数に
00:00:57変更を加えるタスクを割り当てられたとします。変更は完了しましたが、変数の名前が十分に
00:01:03分かりにくいことに気づきました。多くの開発者のように、それを無視して割り当てられた変更だけをコミットすることもできます。
00:01:08しかし、この原則に従うなら、変数名をより分かりやすいものに
00:01:12修正するはずです。これは単なる例ですが、変数名に限らず、改善できる箇所があれば
00:01:18修正してください。この小さな心がけが、コードベースにとって非常に価値のあるものになります。
00:01:24第二の原則、「早期最適化を避ける」です。これは、コードを
00:01:30実際に速くする必要が生じる前に、速くしようとすべきではないという意味です。まず動くものを作り、必要ならその後に最適化してください。
00:01:36ドナルド・クヌースの有名な名言に「早期最適化は諸悪の根源」という言葉があります。
00:01:42これは真実です。なぜならプログラマーは、プログラムの重要でない部分の速度を心配することに
00:01:47多くの時間を浪費してしまうからです。何でもかんでも最適化したがる傾向があるからです。
00:01:51この原則は、コードベースの最適化を否定するものではありません。何を最適化すべきか、
00:01:57そして最も重要な「いつ」最適化すべきかを理解することについてです。多くの開発者の弱点だと思いますが、
00:02:03ユーザーが100人しかいないのにマイクロサービスを使ったり、全く不要な場所にキャッシュを追加したりする人を見かけます。
00:02:08第三の原則、「メンテナンスする人のためにコードを書く」です。これは単純に、あなたが書くコードを
00:02:14将来メンテナンスする開発者が、理解や管理に苦労しないような書き方をすべきだという意味です。
00:02:19あなたが今日書くコードは、将来の他の開発者や、あなた自身によってメンテナンスされます。
00:02:23もし単に動くことだけを優先して明快さを無視すれば、将来そのコードに戻ったとき、
00:02:29何が起きているのか理解するのに苦労するでしょう。例えば、
00:02:35この例を見てください。どちらも同じ機能を実現しますが、自分のコードベースで
00:02:39どちらを見たいですか?教訓は、自分でコードを書く時もAIで生成する時も、
00:02:45コミットする前に、必ず理解しやすくメンテナンス可能なコードであることを確認するということです。
00:02:50第四の原則は「YAGNI」です。「You Aren't Gonna Need It(それは必要にならない)」の略です。
00:02:55これは、「将来必要になるかもしれない」という理由だけで、実際に必要ではないものを作るべきではない、
00:03:01という意味です。多くの開発者は将来何を必要とするか予測する癖がありますが、
00:03:06結局それらのほとんどは使われず、プロジェクトに不要な複雑さを加えるだけだからです。
00:03:10常にこれを忘れないでください。今必要ではない将来の機能に時間を割いているということは、現在必要な機能に時間を割けていないということです。
00:03:16第五の原則、「最も単純な解決策を選ぶ」です。
00:03:21これは、問題に直面したとき、実際に機能する中で最もシンプルな解決策を選ぶべきだという意味です。
00:03:27考えすぎたり、過剰なエンジニアリングをしたりしないでください。「今これを解決する最もシンプルな方法は何か?」と自問してください。
00:03:32この考え方はエクストリーム・プログラミングから来ています。まずはシンプルなものを構築し、
00:03:38それをリファクタリングしてより良いものにするよう教えています。ほとんどの開発者は気づいていませんが、
00:03:43最初から完璧なソリューションを構築しようとして、結果的に解決策を過度に複雑にしてしまっています。
00:03:48この原則に従えば、より早く動くコードを手に入れられます。後で変更が必要になったとしても、
00:03:53間違った複雑な設計を修正するよりも通常は簡単です。そして、
00:03:59自分が過剰な設計をしていると気づくことは、開発者として非常に重要です。
00:04:04以上が、今すぐ実践すべき5つのプログラミング原則です。
00:04:10これら以外にも、この動画ではカバーしていない原則が他にもあります。
00:04:14もしこれが役に立ったならコメントで教えてください。第2弾を作成します。
00:04:19今回はここまでです。応援のほどよろしくお願いします。それではまた次回お会いしましょう。
00:04:24(エンディングの挨拶)
Community Posts
No posts yet. Be the first to write about this video!
Write about this video