Upgrade to Pro — share decks privately, control downloads, hide ads and more …

「動くものは作れる」の一歩先へ 〜「自走プログラマー」の紹介〜

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

「動くものは作れる」の一歩先へ 〜「自走プログラマー」の紹介〜

Avatar for mizzsugar

mizzsugar

June 09, 2021
Tweet

More Decks by mizzsugar

Other Decks in Programming

Transcript

  1. Agenda - 自己紹介 - 本の概要 - 対象読者 - おすすめポイント -

    to プログラミング入門者の方 - to プログラミング入門者の方とチーム開発している先輩プログラマの方 2
  2. お前、誰よ? - Twitterはこのアイコン (@mizzsugar0425)→ - Python歴3年 - Spready株式会社 (we are

    hiring!!) - 好き: コーヒー、自転車、ビール - Stapy5代目LT女王 - 静岡住みでフルリモートで働いています - Django Congressで登壇します! Djangoでの型ヒントについて話ます。 https://djangocongress.jp/ 3
  3. 1. プログラミング言語を越えた普遍的な内容 - 関数の実装から始まり要件定義に終わる内容。 - 1章 コード実装 - 2章 モデル設計

    - 3章 エラー設計 - 4章 システム設計 - 5章 やることの明確化 - 常日頃から知りたかったけれども、なかなか現場に知見がない内容も! - プロジェクト開発の仕事の抽象度がだんだん上がっていくイメージ - 要件定義〜運用までやっている身としてはとても有り難い内容でした🙏 8
  4. 1. 生生しい(?)先輩と後輩のやりとり def validate(data): """data['ids']を検査して、含まれる不正なidの一覧を返す """ ids = data.get('ids') #

    ここが問題 err_ids = [] for id in ids: if ...: # idが不正かどうかをチェックする条件文 err_ids.append(id) return err_ids 11 「自走プログラマー ~Pythonの先輩が教えるプロジェクト開発のベストプラクティス120」より抜粋
  5. 会話の内容 * 先輩T:この ``def validate(data):`` 関数の中で ``data.get('ids')`` っていうコードがたくさん あるんだけど、フレームワークが ``data``

    辞書を用意して ``validate`` を呼んでくれるから、 ``'ids'`` は必ずあるんじゃない? * 後輩W:ありますね。 * 先輩T:じゃあどうして ``data['ids']`` じゃなく ``data.get('ids')`` なの? * 後輩W: ``'ids'`` がない場合に例外を発生させないようにするためです。 * 先輩T:??? * 後輩W: ``validate`` に必ず ``'ids'`` を持つ辞書を渡してくれるかわからないですよね。 * 先輩T:それはフレームワークがよくわからないから過剰防衛してるだけでは。 「自走プログラマー ~Pythonの先輩が教えるプロジェクト開発のベストプラクティス120」より抜粋 12