
546
付録
B
IPython
システム上級編
わかってきたことは、大きなモジュールで、その内部で密結合しているようなもの、というのが断然使
いやすく、保守しやすく、また
Python
風であるということです。この状態がスタートラインです。そ
して将来、コードを繰り返し用いていくうちに、自然とリファクタリングの機運が高まり、大きなファ
イルを小さないくつかに分離していくこともあるでしょう。
ここで確認しておきたいのは、著者には極論を振りかざすつもりはないという点です。これまでのあ
りとあらゆるコード資産を、
1
つの莫大なファイルに押し込めなさい、などと言うつもりはありません。
そもそも大規模なコードベースに対して、そのモジュールおよびパッケージ構造はどうあるべきでしょ
うか。構造を常識的かつ直感的なものにするというのは、少し骨の折れる仕事ですが、しかしチーム
での開発を成功させるためには大変重要な作業です。その構造の満たすべき条件は、モジュール内部
で密結合し
ていることと、関数とクラスが担当する機能ごとに分離しており、可能な限り明確に整理さ
れていることが挙げられます。
B.5
高度な
IPython
機能
IPython
機能を完全に使いこなすことができると、
IPython
設定の詳細がわかるようになります。ま
たこれまでと少し違ったコードの書き方ができるかもしれません。
B.5.1
自前のクラスの
IPython
への親和性を高める技法
IPython
では、あらゆるオブジェクトに対してその中身をコンソールにわかりやすく表