Pythonプロフェッショナルプログラミング


ずっと前に書いた記事の公開を忘れて放置してしまっていて今更ですが、公開します。
Pythonプロフェッショナルプログラミング」のレビューに参加させて頂いた関係で献本を頂きました。
とても読み応えのある本に仕上がっていて、そんな本の政策に参加させて頂き、ありがとうございます。

何度も読んでいましたが、本でもまた通して読んでいました。

Pythonを使っている人もこれから使って開発を始める人もとても勉強になる本です。


■第1部:Pythonで開発しよう
何はともあれ環境準備の部です。
この部とAppendixで環境周りの準備は事足ります。
そして、簡易のWebアプリもサンプルとして載せていて、まずは作って動かしてみることができます。
簡易なものですが、要件定義-設計-実装の流れでものを作らせてくれます。
まずは、新人に触らせるにはちょうどいい内容でもあるかも知れません。


■第2部:チーム開発のサイクル
第2部ではチームの開発環境の準備や構築、コミュニケーションツールなど、サンプルはPythonになっていますが、どの言語の開発でも参考になるエッセンスが詰まっています。
課題管理、バージョン管理、CIなど開発基盤のセッティングについては、Pythonであればそのまま構築すれば、一通り揃えられます。
それぞれについて運用方法について、十二分に紹介されていて参考になると思います。


また、Sphinxを使ったドキュメンテーションとJenkinsを使った自動生成では、内部資料を効率的に整形されたドキュメントを準備するノウハウが紹介されています。
この本もこの仕組みを使って書かれているそうです。
Sphinxを使うことでバージョン管理しやすくなるし、Jenkinsを使って整形された文書を自動生成することで、エラーもすぐに確認できるようになります。
開発者にとっては、コーディングと同じ感覚で文書も作成でき、ストレスも軽減できるんじゃないですかね〜。


■第3部:サービス公開
テスト環境、商用環境など製造したアプリケーションをデプロイする仕組みを紹介しています。
個人的には、Jenkinsを使ったデプロイなども紹介してほしいななんて思ったり。

加えて性能についての測定、チューニング手段を紹介していて、リリースに向けて必要な最終ステップのノウハウです。


■第4部:開発を加速するテクニック
第4部では、テストのテクニック・Djangoの紹介・PythonのTipsと知っていると得する情報です。
特に「テストを味方にする」章は、テストをする時の心がけやケースに対する対応なども記載されていて読み物として読んでおくといいと思います。
この章で紹介されている【〜の時】の対応は、自分のプロジェクトの方針やルールなどを考慮して、一つの判断材料として心に留めておくといいかもしれません。


最後に、本書では現場で実際に使われていたノウハウが詰まっていて自分のところと比較してみると新しい発見が出てくると思いました。
言語の違いで取り入れにくいところもあったけど、参考になるノウハウは多いと感じました。
ぜひ手に取って自分たちの開発現場と比較してみたり、気になった所があれば積極的に取り入れてみてはいかがでしょうか。

Pythonプロフェッショナルプログラミング

Pythonプロフェッショナルプログラミング