Gopher Enablement Internship
by
Kyo Sato
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Gopher Enablement Internship 2023.03 成果発表 - Gopher Enablement Internship チームB 佐藤恭
Slide 2
Slide 2 text
Gopher Enablement Internship 2023.03 2 成果物情報 タイトル 選んだテーマ リポジトリURL 時間のないそこのあなた! ③ 効果の高いLinter https://github.com/Keyl0ve/termcheck
Slide 3
Slide 3 text
Gopher Enablement Internship 2023.03 こんな経験したことありませんか? - 関数を呼ぶ時 - 構造体のフィールドにアクセスする時 いつの間にか冗長なコードになっている
Slide 4
Slide 4 text
Gopher Enablement Internship 2023.03 4 開発したツールについて ツール概要 解決したい 課題 - パッケージ名 . 関数名 - 構造体 . フィールド名 ↑ で単語が重複して使われていたら 警告を出します - 冗長になるコード - リーダブルではないコードの抹殺 実行結果や図を貼る
Slide 5
Slide 5 text
Gopher Enablement Internship 2023.03 5 開発する中で工夫したこと 課題 工夫 - 誰が見てもすぐにわかるコードにしたい - テストケースの拡充 - 関数の責務を適切に分ける - 関数、変数の名前を簡潔に - コメントアウトの追加 文字が扱いずらかった - ほしい文字列に整形 - package の組み合わせ - github.com/iancoleman/strcase - pkg.go.dev/strings
Slide 6
Slide 6 text
Gopher Enablement Internship 2023.03 - 扱いやすい文字へ - v1 - user, readuserfromjapan - v2 - user, read_user_from_japan - v3 - [ user, read, user, from, japan ] 工夫した点 strcase.ToSnake() strings.Split(str, “_”)
Slide 7
Slide 7 text
Gopher Enablement Internship 2023.03 - slice に append するときに再帰で実装 工夫した点
Slide 8
Slide 8 text
Gopher Enablement Internship 2023.03 8 インターンシップに参加した感想 できるように なったこと 感想 - linter を作れるようになった - 静的解析の理解 ++ - 構文解析の理解 ++ - ast の構造 - 型 check の理解 ++ - types パッケージの使い方 静的解析について深く学べたインターンシップでした!静的解析を通してGo言語がますます好きになり ました。まだまだ理解しきれていない箇所もあるので静的解析ツールを作りながら学んでいこうと思い ます。新しくできることが増えて、次は何を作ろうかと考える時間が楽しいです! このインターンシップに携わった方々に感謝しています! Special Thanks - tenntenn さん - notogawa さん - チームBのみんな
Slide 9
Slide 9 text
Gopher Enablement Internship 2023.03 9 今後の取組み これからやりたいこと - 静的解析ツールの作成 - SSA - ポインタ解析 - コードの自動生成
Slide 10
Slide 10 text
できる喜びが巡る日々を届ける Deliver the joy of enablement Gopher Enablement Internship 2023.03