限界プログラマーの備忘録

安心してぐっすり眠りたい

「達人プログラマー」を読んで変わった開発スタイル

中級プログラマーでも読める本の紹介です。 印象としてはいいプログラマーになるための技術の付け方や哲学が記されている印象です。 コードの品質向上のための手法、効果的なコミュニケーションの方法、プロジェクトの進行管理のヒントなど。

概要

達人プログラマー

「達人プログラマー」とは、アンドリュー・ハントとデイビッド・トーマスによって書かれたソフトウェア開発に関する書籍です。この本は、1999年に初版が出版され、その後も多くのプログラマーや開発者たちに読まれてきました。 この本では、ソフトウェア開発の観点から、プログラミングにおけるベストプラクティスや、効果的な技術とプロセスについて解説されています。特に、プログラミングにおいて必要な「技術力」と「人間力」の両方を身につけることを重要視しており、それをどのように実現するかについても詳しく解説されています。 また、本書には、世界中の優秀なプログラマーたちが、自分たちの開発経験や考え方について語ったエッセイが収録されており、多くの読者たちからは、この部分が本書の魅力の一つとして評価されています。 「達人プログラマー」は、ソフトウェア開発に関心のある人々にとって、重要な書籍の一つであり、多くのプログラマーたちにとって、プログラミングのスキルアップや開発手法の改善に役立つ教科書として読まれています。

割れた窓を放置しない

割れ窓理論 (Broken windows theory) は、社会学者ジェームズ・Q・ウィルソンとジョージ・L・ケリングによって1982年に提唱された犯罪学の理論です。 この理論は、環境における小さな問題が放置されると、その問題は悪化し、大きな問題に発展する可能性があると主張しています。 例えば、壊れた窓がある建物があると、周囲の人々はその建物に対する敬意を失い、さらなる荒廃が進んでいくという考え方です。 コード上のあらゆる負債や欠陥を放置していると、その問題は日に日に大きくなるということです。 中長期的に放置するなという話。リファクタリングやテストを書くことが大切なのだと思います。

良い設計を意識する

良い設計は悪い設計よりも変更しやすい easy to change (ETC) 設計を行うときには、「変更容易性」を常に意識が必要あると感じました。

繰り返さない

いわゆるDRY原則の話ですね。

DRY原則 (Don't Repeat Yourself principle) とは、ソフトウェア開発において、同じ情報を複数の箇所に書くことを避けるための原則です。つまり、コードやデータベースの設計など、あらゆる部分において、重複した情報を排除することを推奨します。

DRY原則は、以下のようなメリットがあります。

保守性の向上:同じ情報が複数の場所に書かれると、変更や修正が必要になった場合に、全ての場所を修正する必要があります。一方、DRY原則に従うと、情報が1か所にまとめられるため、変更や修正が必要な場合でも、修正箇所が1か所に絞られるため、保守性が向上します。

可読性の向上:コードやデータベースの設計がシンプル化されるため、可読性が向上します。

冗長性の排除:同じ情報が複数の場所に書かれることで、冗長な情報が発生するため、DRY原則に従うことで冗長性を排除することができます。

知識を身に着ける

常に学習し続けて、知識に投資をすることが大切です。

  • 毎年少なくとも1つの言語を勉強すること
  • 月に1冊技術書を読む
  • 講習を受講する

など

偶発的プログラミングをしない

なぜコードが動いているか理解せずに、テストや検証も問題なく行えてしまった場合の危険性について伝えています。 いわゆる思考停止でのコピペでのコーディングや教えられてたままにコーディングするような状態、元のコードの考えや変更する意味を理解してコーディングを行いましょう、というお話です。 開発現場ではコードレビューを積極的に行いなぜそうしたのか聞くこと、学習時間を自分で作ることで排除できるかもしれません。

まとめ

個人的に役立ちそう内容をまとめました。プログラマー職にかかっている人なら一度読んでみると面白いと思います。