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

全てのコードに意図を持たせよう

 全てのコードに意図を持たせよう

4a4d43c9d1b3ea667a6058988fe7936c?s=128

OTSUKA

July 07, 2021
Tweet

Other Decks in Programming

Transcript

  1. 全てのコードに 意図を持たせよう 株式会社Frontier Lotus 大塚望生

  2. 自己紹介 名前: 大塚望生(Nozomu Otsuka) バックエンド: Ruby on Rais, Python, Firebase,

    Golang フロントエンド: Vue.js(Reactに乗り換えたい)
  3. 会社紹介 商号: 株式会社Frontier Lotus https://frontier-lotus.com/ やってること: スタートアップ向けのシステム開発 「アプリ作って起業したい! でもITがわからん!」って言ってる起業家に代わ り、彼らのアイデアを実現したアプリを作っています。

    自社アプリ: 部屋、探しといて! https://www.heya-sagashi-toite.com/
  4. 本題

  5. リーダブルじゃないコードとは? ↓定番 ・膨大な量のコード ・複雑すぎるコード ・煩雑なコード ・一貫していないコードも読みにくい

  6. 一貫してないコードの例: 改行や空白 2行 1行 インデント

  7. 一貫してないコードの例: コメント コメントが あったりなかったり

  8. 一貫してないコードの例: 変数化 気まぐれ変数化

  9. 一貫してないコードは何が悪いか? 他の人に「どうして書き方が違うんだろう?」と悩ませる → レビュアーや他の開発者に「余計なことを考えさせる」 → 他者から時間を奪ってしまうようなコードは良くない

  10. どうしたらコードに一貫性が出る?

  11. 一貫性が無くなる理由 A. なんとなく書いてるから

  12. 自分のコードの意図を説明出来ますか? ・なぜ改行したのか ・なぜコメントを振るのか ・なぜ変数化するのか ・なぜこの命名にしたのか ・なぜメソッドを分割したのか ・なぜこのディレクトリ構造なのか etc...

  13. そうはいっても初心者・初学者は なーんもわからん!

  14. 初心者のうちは既存のルールに従おう! ・lintなどに従う ・フレームワークなどは「ベストプラクティス」を探す ・ちゃんとしたエディタを使う ・社内のコーディング規約に従う ・先輩の真似をしてみる

  15. 他の人の「意図」を学ぼう! 他の人の「意図」を考えることで、 自分のコードも良くなっていく!

  16. 最後に…… 株式会社Frontier Lotusでは、 創業期の荒波を一緒に戦ってくれるメンバーを募集しています! 「プログラミングさせてもらえなくて技術がつかないー」って悩んでる人、 どうですか! nozomu.otsuka@frontier-lotus.com

  17. ご清聴ありがとうございました!