はじめに
プログラマが知るべき97のことは、プログラミングに関する様々な知見やアドバイスを提供する書籍だ。本記事では、その中から特に重要だと感じたトピックについてざっくりとまとめる。
原文ではなく、読んだことをさっくりまとめているので正しいものを知りたい場合は原書を参考にしてください
今回は、テストやプロジェクトの進め方に関することを取り上げていないが本の中では言及があるため、興味がある人は読んでみるといいだろう。
1. ボーイスカウトルール
- コードを変更する際は、常に少しでもコードを綺麗にしておく
- 関数の修正時に変数名を分かりやすいものに変更するだけでも、コードの可読性が向上する
- 小さな改善の積み重ねが、長期的にコードの品質を高めることにつながる
コードを変更する際は、常に少しでもコードを綺麗にしておくことが重要だ。小さな改善の積み重ねが、長期的にコードの品質を高めることにつながる。
2. 故意の技術的負債を作らない
- 技術的負債とは、短期的な利益のために品質を犠牲にしたコードを指す
- そのようなコードは想定以上に長く使われ続ける可能性がある
- 最初から手を抜かないか、早期に適切に修正することが重要
短期的な利益のために品質を犠牲にしたコードは、長期的に問題を引き起こす可能性がある。最初から手を抜かないか、早期に適切に修正することが重要である。
3. 関数型プログラミングの重要性
- 関数型プログラミングは、オブジェクト指向プログラミングとは異なるアプローチ
- その概念を学ぶことはオブジェクト指向プログラミングにも応用できる
- 両方のパラダイムを理解することで、より柔軟で効果的なプログラミングが可能になる
関数型プログラミングの概念を学ぶことは、オブジェクト指向プログラミングにも応用できる。両方のパラダイムを理解することで、より柔軟で効果的なプログラミングが可能になる。
4. コメントの役割
- コメントは、コードだけでは表現できない情報を提供するために使用されるべき
- ただし、
可能な限りコード自体で意図を明確に表現することが重要
5. 複数のプログラミング言語の習得
- プログラマは、手続型、オブジェクト指向型、関数型、論理型、データフロー型など、複数のプログラミング言語を学ぶべき
- 異なるパラダイムの言語に触れることで、アルゴリズムやイディオム、パターンの実装について考えを深められる
- 数ヶ月間、継続的に触れることで、言語のイディオムを身につけることができる
異なるパラダイムの言語に触れることで、プログラミングスキルを向上させることができる。新しい言語を学ぶ際には異なるパラダイムの言語を学ぶことが重要である。
6. コードを読む重要性
- 自分のコードであっても、他人のコードであっても、コードを読み、理解することが、技術力向上の鍵となる
- どのような点が読みづらさを引き起こしているのかを特定し、自身のコード書きに活かすことが大切
コードを読み、理解することが、技術力向上の鍵となる。読みづらさの原因を特定し、自身のコード書きに活かすことが大切だ。
7. 自動化の推進
- プログラマは、テストからデプロイまで、自動化できる部分は積極的に自動化すべき
- 自動化ツールは、シェルスクリプトやSeleniumなどを使って、自分で作成することもできる
プログラマは、自動化できる部分は積極的に自動化すべきだ。自動化ツールは、自分で作成することもできる。
まとめ
「プログラマが知るべき97のこと」の中でも自分でも実行が容易そうなものをまずまとめた。自分のレイヤーがPGであることから、コード品質に関するものを取り上げることとなったが数か月・数年後はまた違った新しい知見が隠れている良い本であると感じた。
参考図書
下記で無料公開されているが、サイト情報的にはライセンスとしては問題なさそう、、?こちらで読む場合は自己責任でお願いします。