>> >> >> Reference << << << <<<<<<Ref>>>>>>
>> >> >> Indexer << << << <<<<<<Idx>>>>>>
Matched: 0

Tags

    Categories

      Types

        Top Results

          CSharp Coding Format
          M: 2026-03-25 - ljf12825

          命名规范

          C#对命名有非常明确的社区共识

          • 类型/类/方法 -> PascalCase(大驼峰)
          public class PlayerController
          {
              public void MoveForward() {}
          }
          
          • 局部变量/参数 -> camelCase(小驼峰)
          int playerHealth;
          void SetHealth(int newHealth) {}
          
          • 私有字段 -> _camelCase
          private int _health;
          private Transform _target;
          
          • 常量 -> PascalCase或ALL_CAPS
          public const int MaxPlayerCount = 4;
          
          • 接口 -> I前缀
          public interface IMovable
          {
              void Move()
          }
          
          • 布尔变量 -> 语义清晰(is/has/can)
          bool isDead;
          bool hasWeapon;
          bool canJump;
          

          代码结构规范

          成员顺序

          推荐顺序

          public class Example
          {
              // 1. 常量
              // 2. 字段(private -> protected -> public)
              // 3. 属性
              // 4. 构造函数
              // 5. 公共方法
              // 6. 私有方法
          }
          

          using 顺序

          using System;
          using System.Collections.Generic;
          using UnityEngine; // 第三方/框架
          

          系统 -> 第三方 -> 项目内

          一个文件一个类

          // Player.cs
          
          class Player {}
          

          属性 vs 字段

          不推荐直接暴露字段

          public int health;
          

          推荐属性

          public int Health { get; private set; }
          

          格式规范

          花括号不省略

          if (isDead)
          {
              return;
          }
          
          // 不要
          if (isDead) return;
          

          函数设计规范

          SRP

          方法名要表达行为

          CalculateDamage()
          LoadConfig()
          InitializeRenderer()
          

          而非

          DoStuff()
          Handle()
          Process()
          

          参数数量小于等于3

          注释规范

          优先写“为什么”,不是“做什么”

          不推荐

          // 设置血量
          _health = 10;
          

          推荐

          // 防止玩家初始血量为0导致死亡动画触发
          _health = 10;
          

          XML注释(公共API)

          /// <summary>
          /// 计算伤害值
          /// </summary>
          public int CalculateDamage() {}