ソフトウェア工学の原則

ケーススタディ:Pythonでソフトウェアを構築する

Mark Pedigo

Principal Data Scientist

ロードマップ

プロジェクトの完了部分とこれから始める部分を示すロードマップ。

ケーススタディ:Pythonでソフトウェアを構築する

モジュール性

モジュール性: 重要なソフトウェア工学の原則

  • 独立した明確なモジュール
  • 目的特化の機能
  • 明確で定義済みのインターフェース
  • 開発・テスト・保守を分離
ケーススタディ:Pythonでソフトウェアを構築する

DRY原則

「繰り返さない(DRY)」: 重要なソフトウェア工学の原則

  • 重複を最小化
  • 再利用可能なコンポーネントやクラス
  • 一度書いて広く共有
  • きれいで保守しやすく、ミスが少ないコード
ケーススタディ:Pythonでソフトウェアを構築する

パッケージ化

パッケージ化: 重要なソフトウェア工学の原則

  • 整ったフォルダ階層
  • コードを効率的に管理・構造化
  • モジュール初期化用 __init__.py
ケーススタディ:Pythonでソフトウェアを構築する

パッケージの作成

  • 最小構成: パッケージ用フォルダ + Pythonファイル
  • パッケージ: フォルダ + __init__.py
  • ディレクトリ名は短く、小文字+アンダースコア
  • __init__.py: フォルダをパッケージと認識させる
ケーススタディ:Pythonでソフトウェアを構築する

絶対インポートと相対インポート

  • 次のようなプロジェクト構成を想定します
project \
   |--- package
   |    |--- module1.py
   |    |--- module2.py
   |--- main.py
  • 絶対インポート: ルートからの完全パス
    • from package import module1
    • from package.module1 import function
  • 相対インポート: 現在位置基準(.=現在、..=親)
    • from . import module1
    • from .module1 import function
  • 絶対: 明確だが移植性は低め
  • 相対: 柔軟だが文脈依存
ケーススタディ:Pythonでソフトウェアを構築する

練習しましょう!

ケーススタディ:Pythonでソフトウェアを構築する

Preparing Video For Download...