「独学プログラマー」から学んだこと。
概要
- 著作: 「独学プログラマー」
- 著者: コーリー・アルソフ
- 監訳: 清水川 貴之
- 著者経歴:
米クレムソン大学で政治学を専攻、卒業後にシリコンバレーに住みながら独学でプログラミングを身に付ける。一年後に eBay のソフトウェア・エンジニアとして就職。その後、シリコンバレーにて複数のスタートアップに参画し、主にフルスタック・エンジニアとして活躍。
要約
Python プログラマーとして働くために必要な知識や学習の仕方、身につけておくべきプログラミングの原則や考え方などを網羅的にまとめています。また、ネクストステップとして様々な参考文献や書籍が紹介されています。
面白かった章とその理由
第 23 章 プログラミングのベストプラクティス
プログラミングの原則を学べる章です。
例えば、DRY や直交性など、誰もが従うべき原則を知ることができます。しかし、実際には原則から逸れたコードを意外と見かけることが多いような気がします。
今回ここで知れたことは大きな収穫ですが、知っているだけではなかなか実現することは難しいと思うので、この原則を実現しているコードにたくさん触れていきたいですね。
コードレビューの際にも、ここで紹介されている原則の視点でレビューしてみるとよりよくできるアイディアを提示しやすくなりました。
とても勉強になりましたし多くの人に知っていただきたいので、以下、紹介されていたプログラミングのベストプラクティスを引用させていただきます。
- コードを書くのは最後の手段
- DRY
- 直交性
- どのデータも 1 カ所で定義しよう
- 1 つの関数には 1 つのことだけをさせよう
- 時間がかかりすぎるなら、たぶん何か間違えている
- 最初に良い方法で実装しよう
- 慣例に従おう(Python であれば PEP8)
- 強力な IDE を使おう(Python であれば PyCharm)
- 素晴らしいプログラマーはロギングする
- テストされていないコードは壊れているコードである
- できるだけ多くコードレビューをしよう
- 常にセキュリティについて考え、学びましょう
以上のような原則を身に付けることで保守・運用がしやすいソフトウェアを構築することができます。
理解できなかった章とその理由
すべての章が初学者にとってわかりやすく構成されています。また、これから独学で頑張ってみようというモチベーションを掻き立てるのもうまいです。例えば、以下の記事が紹介されています。
スタック・オーバーフローが 2015 年に調査したところ、アンケート回答者の 48%がコンピューターサイエンスの学位を持っていませんでした。
私が普段働いている環境は優秀な方が多く、出身校や学部もまた同様です。中には小学生、中学生からプログラミングを始めたという人もいます。
私は理工学部でしたが、コンピューターサイエンスを専攻していたわけでもありませんし、プログラミングを始めたのも大学 4 年生です。そもそものスタートとして出遅れているなという引け目がありました。
しかし、この記事によると全くの未経験者から始めたという方が半分もいるということです。この数値だけでも勇気をもらいました。また、スタートした時期は関係なく、スタートしてからどれだけ頑張れるかが重要だと思わせてくれました。
仕事に活かせそうな知識、活かせそうな状況と活かし方
- プログラミングのベストプラクティスを身に付ける
- OSS にコントリビュートする
Discussion