$30 off During Our Annual Pro Sale. View Details »

良いコードを書く 〜10年後のPR TIMESを作る〜 / LT会 in #PRTIMES_HACKATHON 2023

meihei
August 25, 2023

良いコードを書く 〜10年後のPR TIMESを作る〜 / LT会 in #PRTIMES_HACKATHON 2023

PR TIMES HACKATHON 2023 Summer内のコンテンツ、社員によるLT会の発表資料です。

優秀者は即内定!「PR TIMES HACKATHON 2023 Summer」エンジニア志望学生向けに4年ぶりにオフラインで開催
https://prtimes.jp/main/html/rd/p/000001300.000000112.html

meihei

August 25, 2023
Tweet

More Decks by meihei

Other Decks in Technology

Transcript

  1. 良いコードを書く
    〜10年後のPR TIMESを作る〜
    2023/08/25
    LT会 in PR TIMES HACKATHON

    View Slide

  2. meihei (@meihei.bsky.social)
    職業
    ● バックエンドエンジニア(PHP)
    ● PR TIMESのプロダクトを担当
    経歴
    ● 2019年 PR TIMES HACKATHON最優秀賞
    ● 2020年 新卒入社
    ● 2021年 上期Big Growth賞受賞
    ● 2022年 PHPカンファレンス登壇
    ● 2023年 PHPerKaigi登壇
    ● 〃 年 PHPカンファレンス福岡登壇

    View Slide

  3. この発表の想定視聴者
    ジュニアエンジニアから、ミドルエンジニアへ
    ステップアップしたい方。

    View Slide

  4. この発表を聞いて持ち帰ってほしいもの

    1.良いコードを書こうと思うモチベーション
    良いコードを書くために早すぎる事は無いです。
    明日からすぐに手を動かしましょう!

    2.良いコードを学ぶためのキーワード
    残念ながら、この発表では良いコードを書く方法は学べません。
    より具体的なプラクティスは、最後に紹介する書籍を読むことを
    おすすめします。

    View Slide

  5. Q.良いコードとはなにか?

    View Slide

  6. 良いコードは哲学
    誰が定義するかによって変わる
    組織、プロジェクト、ソフトウェアを取り巻く状況によって変わる。
    しかし、一般的に良いコードと言われるコードは似た特徴を持っている。

    最高に良いコードは存在しない
    ソフトウェアは時間経過と共に変化するもの。ソフトウェアを構成する
    コードも、その変化の影響を受ける。
    ある時は良いコードであっても、またある時は不要なコードと
    なることもある。

    View Slide

  7. Q.あなた(私)にとって、
    良いコードとはなにか?

    View Slide

  8. A.シンプルで捨てやすいコード

    View Slide

  9. シンプルであること
    「読みやすい」
    他の人がコードを最短時間で理解できる。驚き最小の原則。
    「単一責務」
    1つのクラスに1つの責務を持つ(SOLID原則のS)。
    「副作用のない」
    名前から推測できない作用を作らない。
    「テスタブル」
    単体テストを書くことができる。

    View Slide

  10. 捨てやすいこと
    「凝集度が高く、疎結合」
    共通化すべきものは共通化し、切り離すべきものは切り離す。
    「シンプルであること」
    結果的には、捨てやすいコードはシンプルなコードになる。
    あえて言うのは、捨てやすさを自分の良いコードの指標としているため。
    「ソフトウェアが変更可能」
    変更が可能であることは、コードを追加することが可能であり、
    捨てることも可能である。

    View Slide

  11. Q.なぜ良いコードを書くのか?

    View Slide

  12. A.10年後も動くソフトウェアを作るため

    View Slide

  13. PR TIMESの過去10年
    2007.04
    PR TIMES
    運営開始
    2008.02
    Webクリッピング
    β版開始
    2009.07
    PR TIMES
    1千社突破
    2011.02
    公式SNS開始
    2011.03
    東日本大震災
    関連プレスリリース
    無期限無料提供
    2013.02
    中国進出
    (その後撤退)
    2013.04
    PR TIMES
    5千社突破
    2015.07
    Tayori
    事業開始
    2014.04
    開発者ブログ
    BREAK TIMES
    開始
    2014.03
    サイトUIを
    スマホ最適化
    2015.8
    PR TIMES
    1万社突破
    2019.5
    PR TIMES
    3万社突破
    2016.01
    外苑前に
    オフィス移転
    2016.03
    マザーズ上場
    2016.10
    PR TIMES
    1万5千社突破
    2018.03
    リリースAI受信β版
    提供開始
    2017.09
    Jooto事業譲受
    2018.04
    THE BRIDGE
    事業譲受
    2018.10
    U-NOTE
    事業譲受
    2020.02
    PR TIMES MAGAZINE
    公開
    2022.02
    溜池山王へ
    オフィス移転
    2018.8
    東証一部 鞍替え
    2018.02
    PR TIMESカレッジ
    第一回開催
    2020.04
    初年度
    April Dream
    2020.08
    企業広告
    PR14の使命
    2020.5
    PR TIMES STORY
    サービス開始
    2021.12
    プレスリリースアワード
    初開催
    2021.02
    利用企業社数
    5万社突破
    2022.02
    初の地域限定CM
    放映開始
    2022.10
    米国子会社設立
    2021.08
    プレスリリース
    累計100万件突破
    2022.06
    アート特化型PRプラットフォーム
    「MARPH」β版
    2023.01
    開発部門
    福岡オフィス開設
    2023.02
    入稿システム
    基盤刷新

    View Slide

  14. PR TIMESの過去10年
    サービス機能の変化
    新規機能の追加や提供終了。数年毎にUIを一新。
    プロダクトの立ち上げと終了。
    スケール
    PV数 約37倍(現在7,597万PV/月)
    プレスリリース配信数 約13倍(現在33,801件/月)
    組織
    会社の従業員数、資本金の増加。
    ※2023年5月末を最新のデータとして、 2013年11月のサイトPV数とプレスリリース配信数を比較。

    View Slide

  15. 10年間でソフトウェアや
    それを取り巻く環境は変化する

    View Slide

  16. ” 全ては変わる、それだけが不変
    [出典] きんじょうひでき「ソフトウェア設計がプロジェクト管理にどのよ
    うに影響を与えるか」 p21,
    https://speakerdeck.com/o0h/phpconfuk-2023

    View Slide

  17. 10年後のPR TIMESを作るために
    ソフトウェアは変化し続けるというマインドを持つ
    変更が可能なソフトウェアを作る。シンプルで捨てやすいコードを書く。
    挑み続ける
    良いコードは1日にしてならず。
    「読む」良いコードを読む。
    「書く」良いコードを書く。
    「知る」書籍やブログを読んだり、発表を聞いたりする。
    「聞く」フィードバックをもらう。

    View Slide

  18. おすすめ書籍:良いコードを書くために

    View Slide

  19. おすすめ書籍(スライド):ステップアップするために

    View Slide