.bzl スタイルガイド

このページでは、Starlark の基本的なスタイル ガイドラインについて説明します。また、マクロとルールに関する情報も記載しています。

Starlark は、ソフトウェアのビルド方法を定義する 言語であり、プログラミング言語と構成言語の両方の 側面を持っています。

Starlark を使用して、BUILD ファイル、マクロ、ビルドルールを記述します。マクロとルールはメタ言語であり、BUILD ファイルの記述方法を定義します。 BUILD ファイルは、シンプルで繰り返し可能なものにすることを目的としています。

ソフトウェアは、記述されるよりも読み取られることのほうが多くあります。これは Starlark に特に当てはまります。エンジニアは BUILD ファイルを読み取って、ターゲットの依存関係とビルドの詳細を把握します。多くの場合、この読み取りは、他のタスクを急いで行っているときや、他のタスクと並行して行われます。そのため、ユーザーが BUILD ファイルをすばやく解析して理解できるように、シンプルさと読みやすさが非常に重要になります。

ユーザーが BUILD ファイルを開いたときに、ファイル内のターゲットのリストをすばやく確認したり、C++ ライブラリのソースのリストを確認したり、Java バイナリから依存関係を削除したりしたいと考えます。抽象化のレイヤを追加するたびに、ユーザーがこれらのタスクを行うのが難しくなります。

BUILD ファイルは、さまざまなツールによって分析および更新されます。抽象化を使用している場合、ツールで BUILD ファイルを編集できないことがあります。BUILD ファイルをシンプルに保つことで、より優れたツールを利用できます。コードベースが大きくなるにつれて、ライブラリを更新したり、クリーンアップを行ったりするために、多くの BUILD ファイルに変更を加えることがますます頻繁になります。