在 【C++學習筆記】02《從資料型態到命名規則》 中,我們有提到C++的命名規則,下面將整理C#的命名規則速查表供大家參考。(僅供參考,並非所有專案通用)
【C#學習筆記】12《類別(Class)》巢狀類別、主要建構子、this & base
| 類型 | 命名方式 | 範例 |
|---|---|---|
| Class | PascalCase | PlayerHealth |
| Method | PascalCase | TakeDamage() |
| Property | PascalCase | CurrentHealth |
| Interface | I + PascalCase |
IDamageable |
| Enum | PascalCase | WeaponType |
| Enum 成員 | PascalCase | Sword |
| Private Field | _camelCase |
_currentHealth |
| Local Variable | camelCase | damage |
| Parameter | camelCase | damage |
| Constant | PascalCase | MaxHealth |
| Event | On + PascalCase |
OnDead |
using System;
namespace Gameplay
{
// Interface
public interface IDamageable
{
void TakeDamage(int damage);
}
// Enum
public enum WeaponType
{
Sword,
Bow,
Staff
}
// Class
public class PlayerHealth : IDamageable
{
// Constant
public const int MaxLevel = 100;
// Static Readonly
public static readonly string GameVersion = "1.0.0";
// Private Fields
private int _maxHealth;
private int _currentHealth;
private bool _isDead;
// Properties
public int MaxHealth => _maxHealth;
public int CurrentHealth => _currentHealth;
public bool IsDead => _isDead;
// Event
public event Action OnDead;
// Constructor
public PlayerHealth(int maxHealth)
{
_maxHealth = maxHealth;
_currentHealth = maxHealth;
}
// Method
public void TakeDamage(int damage)
{
if (_isDead)
return;
_currentHealth -= damage;
if (_currentHealth <= 0)
{
_currentHealth = 0;
_isDead = true;
OnDead?.Invoke();
}
}
public void Heal(int amount)
{
if (_isDead)
return;
_currentHealth += amount;
if (_currentHealth > _maxHealth)
{
_currentHealth = _maxHealth;
}
}
public void ShowStatus()
{
Console.WriteLine(
$"HP: {_currentHealth}/{_maxHealth}, Dead: {_isDead}");
}
}
class Program
{
static void Main()
{
// Local Variable
PlayerHealth playerHealth = new PlayerHealth(100);
// Event Subscription
playerHealth.OnDead += HandlePlayerDead;
playerHealth.ShowStatus();
playerHealth.TakeDamage(30);
playerHealth.ShowStatus();
playerHealth.TakeDamage(80);
playerHealth.ShowStatus();
Console.WriteLine($"Version: {PlayerHealth.GameVersion}");
Console.WriteLine($"Max Level: {PlayerHealth.MaxLevel}");
}
private static void HandlePlayerDead()
{
Console.WriteLine("Player Dead!");
}
}
}
在程式設計中,PascalCase&camelCase最常見的兩種變數與元件命名風格。它們的核心目的都是為了提高程式碼的可讀性,避免所有字母擠在一起難以辨識。
規則:所有單字的首字母都必須大寫。
視覺特徵:每個單字的起伏就像山峰一樣。
C# 常見應用:類別(Class)、方法(Method)、屬性(Property)、常數(Constant)。
範例:
PlayerHealth
TakeDamage
MaxLevel
規則:第一個單字的首字母小寫,從第二個單字開始的首字母大寫。
視覺特徵:開頭平坦,中間隆起,就像駱駝的駝峰一樣。
C# 常見應用:區域變數(Local Variable)、方法參數(Parameter)。
範例:
playerHealth
damageAmount
isDead
遵守大部分通用的命名規範,程式碼的可讀性真的會大幅提升。寫這篇速查表留個紀錄,讓自己在熟悉前可以隨時回來複查。