Trong bài viết này mình sẽ giới thiệu một số quy tắc soạn thảo code GDScript. Mình sẽ thường xuyên cập nhật mới bài viết liên quan đến Godot engine.
 


1. Comments - Ghi chú.

- Chử cái đầu tiên trong phần ghi chú thường được viết hoa, ngoại trừ một số ngoại lệ.

- Tất cả các từ sau dấu # điều là ghi chú. Chỉ được sử dụng trong cùng một dòng. phải có khoảng trắng sau ký hiệu # và có thể thụt lề như bình thường. Củng có thể vô hiệu hóa một dòng mã và sau dấu # không cần khoảng trắng.
- Tất cả các câu nằng trong “”” … “”” điều là ghí chú. Có thế chứa được nhiều dòng.


2. Dấu phẩy.

Đối với hàm nên có một khoảng trắng sau mỗi dấu phẩy, như thế này:
func my_function(a, b, c):
 pass
Sử dụng dấu phẩy ở dòng cuối cùng trong mảng - arrays , từ điển - dictionaries và enum. Điều này dẫn đến việc tái cấu trúc dễ dàng hơn và tốt hơn trong kiểm soát phiên bản vì dòng cuối cùng không cần sửa đổi khi thêm các yếu tố mới.

Đúng
 enum Tiles {
    TILE_BRICK,
    TILE_FLOOR,
    TILE_SPIKE,
    TILE_TELEPORT,
}

Sai
 enum Tiles {
    TILE_BRICK,
    TILE_FLOOR,
    TILE_SPIKE,
    TILE_TELEPORT
}
Dấu phẩy dấu phẩy là không cần thiết trong một dòng, vì vậy không cần thêm trong trường hợp này.
 
Đúng.
 enum Tiles {TILE_BRICK, TILE_FLOOR, TILE_SPIKE, TILE_TELEPORT}
 
Sai.
 enum Tiles {TILE_BRICK, TILE_FLOOR, TILE_SPIKE, TILE_TELEPORT,}

3. Khoản trắng.

Sử dụng khoản trắng để tách các thành phần logic code.

 func heal(amount):
    health += amount
    health = min(health, max_health)
    emit_signal("health_changed", health)

func take_damage(amount, effect=null):
    health -= amount
    health = max(0, health)
    emit_signal("health_changed", health)

4. Dòng.

4.1 Độ dài dòng.

Cố gắng giữ các dòng dưới 80 ký tự. Tối đa 100 ký tự, nếu hơn 100 thì dòng trử nên quá dài.

4.2 Số câu lệnh trên một dòng.

 
Không bao giờ kết hợp nhiều câu lệnh trên một dòng.
 
Đúng.
 if position.x > width:
    position.x = 0
if flag:
    print("flagged")
 
Sai.
 if position.x > width: position.x = 0
if flag: print("flagged")

4.3. Ngoại lệ.

- Ngoại lệ duy nhất cho quy tắc đó là toán tử ternary:
next_state = "fall" if not is_on_floor() else "idle"

5. Dấu ngoặc đơn.

- Tránh dấu ngoặc trong biểu thức -expressions và câu điều kiện. Trừ khi cần thiết cho thứ tự các hoạt động, chúng chỉ làm giảm khả năng đọc.

Đúng.
 if is_colliding():
    queue_free()

Sai.
 if (is_colliding()):
    queue_free()

0 comments:

Post a Comment

Popular Posts