https://zenn.dev/tenntenn/books/d168faebb1a739/viewer

og-base-book_yz4z02.jpg

はじめに

本書の内容

本書は技術書典6で@knsh14と共に執筆し、頒布したものです。(移動にあたってこっそり更新はしましたが)2022年5月現在では内容が古くなっている可能性があります。最新の情報を知りたい場合は公式ドキュメントまたはhttsp://tenn.in/analhysisをご覧ください。

読者のみなさんは静的解析ツールを自作したことはありますか? コードレビューで頻出するような指摘事項は静的解析ツールを使って自動化するとコードレビューに取られる工数が減ります。golintgo vetなどは使っている方は多いでしょう。

標準のものやサードパーティ製など様々な静的解析ツールを見かけます。 しかし、自分たちの開発チームの事情を汲んだ静的解析ツールを見つけるのは難しいでしょう。 そんなときに諦めてしまわずに自作するという選択肢があります。

本書はGoで静的解析を行う際に逆引きとして使えるように書いています。 静的解析ツールを書いていると頻出するパターンに出くわすことが多く、 日頃からどこかにまとまっていれば幸せだなと感じていました。 本書によってこれから静的解析をする方々が筆者たちと同じような気持ちにならずに開発に集中できると幸いです。

本書で扱うGoのバージョン

本書で対象としているGoのバージョンはGo1.18です。本書で取り上げているサンプルコードはGo1の後方互換の約束からおそらくGo1.18以降のバージョンでも問題なく動くはずです。

免責事項

本書に記載された内容は、情報の提供のみを目的としています。したがって、本書を用いた開発、製作、運用は、必ずご自身の責任と判断によって行ってください。 これらの情報による開発、製作、運用の結果について、著者はいかなる責任も負いません。

Gopherについて

GoのマスコットキャラクターであるGopherの原作者はRenée Frenchさんです。

もう1人の著者について