オフィスアワーがそろそろ始まるよ!()

スタイルガイド

Zen 言語でプログラムを記述するときの推奨コーディングガイドです。

  1. インデント
  2. 改行
  3. 命名規則
  4. 関数名
  5. 関数引数の順番
  6. エラー処理
  7. if式の条件

インデント

  • スペース4つです

改行

  • 1行につき100文字が目安です

  • リストの要素が3つ以上の場合、各要素を1行に配置し、行末に , を置きます

    const bytes = [_]u8{
        0x12,
        0x34,
        0x56,
        0x78,
    };
    
  • 関数の引数リストが長い場合も同様にして最後の引数に , を置いて改行することを推奨します

    pub fn format(
        comptime E: type,
        out_stream: io.OutStream(E),
        comptime fmt: []u8,
        args: var,
    ) E!void {
    

命名規則

  • 型名は UpperCamelCase
  • 関数名は lowerCamelCase
  • 変数名は snake_case

をそれぞれ推奨します。

1つ例外があります。

  • 型 (type) を返す関数は UpperCamelCase を推奨します。

例えば、標準ライブラリ内にある任意の整数型を返す関数は、次のように定義しています。

pub fn Int(comptime is_signed: bool, comptime bits: comptime_int) type {
    return @Type(builtin.TypeInfo{
        .Int = .{
            .is_signed = is_signed,
            .bits = bits,
        },
    });
}

関数名

  • 構造体の初期化関数は init
  • 構造体の終了処理関数は deinit

を推奨します。

関数引数の順番

引数は、先頭から次の順番で指定します。

  • メモリアロケータ
  • 入力用引数
  • 出力用引数

エラー処理

catch を使ったエラー処理を推奨します。

if式の条件式

定数は右辺に書きます。

    if (a == 10) {
        // do something
    }

Zen では if の条件式に代入文を記述できないため、10 == a などとする必要はありません。

Chapter 1

Chapter 2

Chapter 3

Chapter 4

Chapter 5

Chapter 6

Chapter 7

Chapter 8

Chapter 9

Chapter 10

Chapter 11

Chapter 12

Chapter 13

Chapter 14

Chapter 15

Appendix

Error Explanation

☰ 人の生きた証は永遠に残るよう ☰
Copyright © 2018-2020 connectFree Corporation. All rights reserved. | 特定商取引法に基づく表示
Zen, the Zen three-circles logo and The Zen Programming Language are trademarks of connectFree corporation in Japan and other countries.