1. 程式人生 > >GDscript風格指南

GDscript風格指南

(慣例感謝godot開發組~~·)

縮排

縮排型別:Tabs (編輯器預設)

縮排大小:4 (編輯器預設)

每個縮排級別必須大於包含它的程式碼塊。

良好的:

for i in range(10): print("hello") 

糟糕的:

for i in range(10): print("hello") for i in range(10): print("hello") 

使用2縮排級別把延續的行和普通程式碼塊區分開來。

良好的

:

effect.interpolate_property(sprite, 'transform/scale', sprite.get_scale(), Vector2(2.0, 2.0), 0.3, Tween.TRANS_QUAD, Tween.EASE_OUT) 

糟糕的:

effect.interpolate_property(sprite, 'transform/scale', sprite.get_scale(), Vector2(2.0, 2.0), 0.3, Tween.TRANS_QUAD, Tween.EASE_OUT) 

空白行

Surround functions and class definitions with a blank line.

在函式內部使用一個空行來分隔邏輯部分。

一條語句一行

不要在一行上合併多個語句 。不要用單行條件語句 (除了三元運算子), C 程式設計師 !

良好的:

if position.x > width: position.x = 0 if flag: print("flagged") 

糟糕的:

if position.x > width: position.x = 0 if flag: print("flagged") 

避免不必要的圓括號

避免表示式和條件語句中的括號。除非對運算順序有要求, 否則它們只會降低可讀性。

良好的:

if is_colliding():
    queue_free()

糟糕的:

if (is_colliding()):
    queue_free() 

空格

總在運算子和逗號之後使用一個空格。避免在字典引用和函式呼叫,或建立 “列”時增加空格

良好的:

position.x = 5
position.y = mpos.y + 10 dict['key'] = 5 myarray = [4, 5, 6] print('foo') 

糟糕的:

position.x=5
position.y = mpos.y+10 dict ['key'] = 5 myarray = [4,5,6] print ('foo') 

決不要

x        = 100
y        = 100 velocity = 500 

命名約定

這些命名約定遵循 Godot 引擎風格。打破這些將使您的程式碼與內建的命名約定衝突, 這是醜陋的。

類與節點

使用PascalCase:extends KinematicBody

將類載入到常量或變數時:

const MyCoolNode = preload('res://my_cool_node.gd') 

函式與變數

使用 snake_case: get_node()

在虛擬方法(使用者必須覆蓋的函式)中,私有函式和私有變數之前加上一個下劃線 (_) : func _ready()

訊號

使用過去時態:

signal door_opened
signal score_changed

常量

使用CONSTANT_CASE,全部大寫,用下劃線 (_) 分隔單詞

 const MAX_SPEED 200