GDscript風格指南
阿新 • • 發佈:2018-12-30
(慣例感謝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