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