質問: 最近は、コードリーディングが遅いと感じていて、自信喪失しています。そこで思いついたのが、クラスの設計やコードのデザインパターンを見抜ければ、全体を把握するのが早くなり、コードリーディングが早くなるのではないかと思いました。 例えば、以下のリポジトリのコードの全体像を把握したいです。どのデザインパターンに当てはまると思いますか? また、どのように全体像を把握していけばよいのですか?どのように勉強してきましたか?クラス設計の理解の助けにある教材やツールを何かご存知でしょうか? 皆さまの意見のtipsから以下のようなロジックで理解していければと思っています。 このクラスは、こんな役割で全体としてこのようなモジュールの役割をしていて、このパッケージはこのためにあり、このパターンはだいたい、こんな感じで書かれる → すでに発掘されている〇〇デザインパターンに当てはまる。→ そのデザインパターンを学ぶにはこの教材がいい。このツールを使うと作りやすい。 コードリーディング対象のリポジトリ https://github.com/dpgaspar/Flask-AppBuilder/tree/master/flask_appbuilder すでに、以下の教材はさっと目を通しましたが、どんなときに使えるのか理解できていません、正直、「へーそうなんだ」で終わっています。 https://github.com/faif/python-patterns Effective Pythonもざっと目を通しましたが、コード設計の全体像を読み取る能力向上には、あまり役立たないように思えます。
回答: まず、「最初からコードを読むもんじゃない」「他人の書いたコードは所詮他人が書いたコード」というのがtipsの筆頭になります。あとは私がどの様に対象のリポジトリを見ていったのかをちょっとだけ記載します。 URLを開く ====== まず以下の画面で私は「多い」と思って中を見てみようという気が失せました。 !repo READMEに移る ========= READMEを見るとちゃんとドキュメントへのリンクがあったので少し安心しました。 !readme Documentationを開く ================ ドキュメントを眺めるとIntroductionやInstallationに加えてexampleやDemoも準備されているので、そこら辺は**最低でも読んである程度理解しておかないと**コードなんて読めたもんじゃないだろうなと感じました。 !doc