go-admingo-admin
  • ガイド
  • GitHub
  • Changelog
⌘ K
概要
クイックスタート
Go 環境
Go Modules
環境変数
Node 環境
IDE 設定
コーディング規約
デプロイ
よくある質問
最終更新日時:
Open-source MIT Licensed | Copyright © 2020-present
Powered by go-admin-team

TABLE OF CONTENTS

‌
‌
‌
‌

コーディング規約

この記事は go-admin のディレクトリ構成と命名規約をまとめたものです。リポジトリのルートにある AGENTS.md は、同じ規約を AI コーディングツール向けに書いたもので、内容はここと一致しています。実際のコーディングでは、コンパイル可能な app/demo/ を基準にしてください。詳しくは標準モジュール開発を参照してください。

ディレクトリとファイル名

app

app ディレクトリには、それぞれのアプリケーションや大きめのアプリケーションモジュールを配置します。例えば go-admin にはユーザー権限管理モジュールが標準搭載されているため、app 配下に admin フォルダがあります。

admin

admin は go-admin に標準搭載されているユーザー権限管理モジュールを指します。

apis

apis ディレクトリには API ファイルを直接配置します。命名形式は次のとおりです。

形式:apis/{name}.go

models

models ディレクトリにはデータベース ORM モデルファイルを直接配置します。命名形式は次のとおりです。

形式:models/{name}.go

router

router ディレクトリにはルートファイルを直接配置します。命名形式は次のとおりです。

形式:router/{name}.go

service

service ディレクトリにはビジネスロジックファイルを直接配置します。命名形式は次のとおりです。

形式:service/{name}.go

service/dto

service/dto ディレクトリには、API のリクエスト受け取りやレスポンス出力に使うモデルファイルを配置します。命名形式は次のとおりです。

形式:service/dto/{name}.go

命名例

go
article_list.go
# ファイル名の内容は例示であり、意味を持ちません。形式の参考としてください

コードの規約

import の分類

分類は次の 3 つです。

  1. 標準ライブラリ;
  2. 外部パッケージ;
  3. プロジェクト内のパッケージ。

形式:それぞれのブロックを明確に区切ります。ここでは空行で区切ります。

例:

go
import (
"fmt"
"github.com/gin-gonic/gin"
"github.com/go-admin-team/go-admin-core/sdk/api"
"go-admin/app/admin/models"
"go-admin/app/admin/service"
)

関数名

形式:{操作}{説明}

2 つの部分に分かれます。

  1. 前半部分——操作を表す。Get
  2. 後半部分——補足説明。ArticleList

例:

go
// GetArticleList 文章一覧を取得する
func GetArticleList(c *gin.Context) {
...
}

ルーティング

API

形式:api/{version}/{module}/{name}

例:api/v1/system/sys-user

View

形式:{module}/{name}

例:system/sys-user

Go の組み込み関数

init

Go の組み込み関数 init を自分で使わないでください。実行順序の制御を誤ると、思わぬ問題が発生することがあります。

システム設定

メニュー管理

業務名:list、add、remove、edit、query

権限標識

小文字始まりのキャメルケース(lowerCamelCase)を使用してください。

形式:{module}/{name}/{業務名}

例:admin/sysUser/list

WARNING

サポートについて:

このガイドを読んでいて分からないことがあれば、Issue を作成してください。