1月日
你有没有想过,程序和人之间,到底是怎么“对话”的?
比如:登录时,程序提示:
请输入用户名: // 你在闪烁的光标这里输入用户名
请输入密码: // 再输入密码
登录成功! // 最后,显示登录成功
请输入用户名: // 如果下次,
请输入密码: // 你不小心输错了密码
用户名与密码不匹配,请重新输入: // 程序就会提示你:
这种“你来我往”的互动,就叫交互式程序。
三、一个好名字有多重要?
《代码整洁之道》的作者 Bob 大叔,说过一句经典的话:
“你给变量起名时,应该像给第一个孩子起名一样用心。”
这话一点不夸张。在编程中,一个好的名字,直接决定了你的代码是一目了然,还是让人抓狂骂娘。
来,看个对比:
左边这段代码:变量名全是a、b、c、d ,单看代码,鬼知道它在干嘛?想看懂,全靠猜。
int a = 18;
double b = 55.5;
bool c = false;
string d = "张三";
if (a >= 18 && c)
{
Console.WriteLine($"{d} 满足条件");
}
再看右边,同样的逻辑,但变量名换成了有意义的英文单词:
int age = 18;
double weight = 55.5;
bool isMarried = false;
string userName = "张三";
if (age >= 18 && isMarried)
{
Console.WriteLine($"{userName} 满足条件");
}
感受下右边这段代码:优秀的命名,根本不需要注释,代码即注释,一目了然,这就是好名字的价值。
所以变量起名这事,绝对不能随心所欲。
四、变量命名规范
在 C# 中,变量命名遵循两套标准:硬性规则和软性约定。
一、硬性规则
硬性规则,是编译器的底线,不遵守直接报错,没得商量。
- 规则 1,变量名的合法字符只能是字母、数字、下划线。空格、横线、标点符号这些,统统不行。
- 规则 2,数字不能开头。变量名开头的字符只能是字母或下划线。
- 规则 3,不能使用 C#的关键字。像 int、class、if、for 这些被语法占用的单词,绝对不能拿来当变量名。
奇奇:我存储班级名称,就想使用"class"怎么破?
村长:you see see you.偏要玩点骚操作,你可以在变量名前加个 @ 前缀强制使用关键字。 比如 @class、 @int,但老铁们,咱真的没必要这么干,纯粹给自己找麻烦。
第四,变量名严格区分大小写。age、Age、AGE,在编译器眼里是三个完全不同的变量,写代码的时一定要统一。
二、软性约定
硬性规则只是让你不报错,想要代码专业、好维护,下面这些行业共识一定要跟上。
不遵守软性的约定的后果是:恶心别人,坑自己。
约定 1,见名知意。 优先使用有意义的英文单词,别用拼音。比如 userName 就比 yhm 好一万倍。
| 无意义/拼音 | 见名知意 | 解析 |
|---|---|---|
| xing(姓) | lastName | |
| ming(名) | firstName | |
| nl | age | |
| csrq | birthDate | |
| zje(总金额) | totalAmount / totalPrice | amount 明确是金额,total 明确是汇总。 |
| sl(数量) | quantity / itemCount | 购物车场景下,itemCount 比 sl 精确一万倍。 |
| pjf(平均分) | averageScore / meanValue | 业务含义一目了然。 |
奇奇:变量起名到底是用一个单词好?还是多个单词好?
村长:很简单,一个词能说清楚,就用一个词;说不清楚,果断加词,短不代表好,清楚才是王道。
例如:
// 单个单词
name、age、count、price、time、list、result
// 多个单词
studentName、totalScore、loginTime、productPrice、errorMessage
布尔变量几乎总是多个单词,因为要表达"是不是/有没有/能不能"。 所以经常使用 is、has、can、should 开头
布尔变量名示例:
isMarried、hasPermission、canEdit、isActive、hasError、canLogin、isVisible、shouldNotify
约定 2,小驼峰命名法(camelCase)。 变量名的第一个单词全部小写,后面每个单词的首字母大写。比如:studentAge、maxCount、isAvailable。这是 C# 中局部变量和方法参数的通用惯例。
常见小驼峰命名法示例:
studentAge、maxCount、isAvailable
userScore、inputValue、currentPage
loginStatus、totalAmount、filePath
mousePosition、timerInterval
约定 3,帕斯卡命名法(PascalCase)。 每个单词的首字母都大写。比如:UserName、StudentManager。这种命名法通常用于类名、方法名、属性名等,和变量名的风格区分开,一眼就能看出谁是谁。
常见简单名称示例:
类名:UserName、StudentManager、UserInfo、Product、Order、GameConfig
方法名:GetScore、SaveData、Login、OpenFile、CalculateTotal
属性名:Age、FullName、IsEnabled、MaxValue、CurrentUser
记住了:小驼峰给普通变量,帕斯卡给类和方法,这是 C# 世界的潜规则。
结束语
好,变量咱们今天就聊到这儿。
本期视频就到这里。我是村长。听懂不算会,敲出来才算。
如果这个视频对你有帮助,记得点赞、收藏、关注。 感谢观看,我们下期见。
下期视频《变量的N 种用法》
练习1 输出四种数据类型
Console.WriteLine("Hello World");
Console.WriteLine(100);
Console.WriteLine(3.14);
Console.WriteLine('A');
练习2 唐诗 《咏柳》
要求:将唐诗 《咏柳》输出到控制台,要求:使用Write()方法输出,分行显示。
图案
/\_/\
( o.o )
> ^ <
/ \__
( @\___
/ O
/ (_____/
/_____/ U
^-----^
( o o )
( = )
( )
下面给你一份 《C# Console ASCII 宠物库(教学版)》。 这些字符动物 非常适合中职课堂做控制台小游戏(电子宠物、猜动物、随机宠物等)。
我整理了 30种常用动物图标,学生可以直接 Console.WriteLine() 使用。
一、猫(Cat)
/\_/\
( o.o )
> ^ <
C#:
Console.WriteLine(" /\\_/\\ ");
Console.WriteLine("( o.o )");
Console.WriteLine(" > ^ < ");
二、小狗(Dog)
/ \__
( @\___
/ O
/ (_____/
/_____/ U
三、小猪(Pig)
^-----^
( o o )
( = )
( )
四、兔子(Rabbit)
(\_/)
( •_•)
/ >🍎
五、仓鼠(Hamster)
(\_/)
( •_• )
/ >🍪
六、青蛙(Frog)
@..@
(----)
( >__< )
七、小熊(Bear)
ʕ•ᴥ•ʔ
八、企鹅(Penguin)
_~_
(o o)
/ V \
/( )\
^^ ^^
九、小鸡(Chicken)
(\_/)
(•_•)
/ >🐛
十、小鱼(Fish)
><(((('>
十一、乌龟(Turtle)
___
_(o o)_
/ --- \
十二、狐狸(Fox)
/\ /\
( o o )
==_Y_==
`-`
十三、猫头鹰(Owl)
,_,
(0,0)
( )
" "
十四、小象(Elephant)
/ \~~~/ \
( .. )
\ ---- /
| |
十五、小猴(Monkey)
@..@
(----)
( >__< )
十六、蜗牛(Snail)
___
_/o o\_
/ --- \
十七、小蛇(Snake)
~~~~~~~~
~~~~~~
~~~~
十八、小牛(Cow)
(oo)
/||\
十九、小羊(Sheep)
__
(oo)
/||\
二十、小老鼠(Mouse)
()__()
(='.'=)
(")_(")
二十一、龙(Dragon)
/ \ //\
/ \(( ))
( )\ /
\___/ V
二十二、恐龙(Dinosaur)
__
/ _)
/ /
/_/
二十三、蝙蝠(Bat)
/\ /\
( o.o )
> ^ <
二十四、蜘蛛(Spider)
/\_/\
( o.o )
/| |\
二十五、小鸭(Duck)
__
<(o )
( )
^^
二十六、小鹿(Deer)
/\ /\
( o o )
( V )
二十七、小鸟(Bird)
,_,
(o,o)
( )
" "
二十八、小鲸鱼(Whale)
__
___ / \__
<___/ )
\_____/
二十九、小马(Horse)
//\
(( ))
\\//
三十、小恐龙(Cute Dino)
__
(oo)
/||\
课堂使用示例(推荐)
可以随机生成宠物:
Random r = new Random();
int pet = r.Next(1,4);
switch(pet)
{
case 1:
Console.WriteLine("你的宠物是小猫");
Console.WriteLine(" /\\_/\\ ");
Console.WriteLine("( o.o )");
Console.WriteLine(" > ^ < ");
break;
case 2:
Console.WriteLine("你的宠物是小狗");
Console.WriteLine(" / \\__ ");
break;
case 3:
Console.WriteLine("你的宠物是小猪");
Console.WriteLine(" ^-----^ ");
break;
}
学生会感觉像:
随机宠物系统
课堂最受欢迎的5个宠物
老师经验排名:
1️⃣ 小猫 2️⃣ 小狗 3️⃣ 小熊 4️⃣ 企鹅 5️⃣ 兔子
学生会 非常喜欢。
如果你愿意,我可以再给你一套 《C# 控制台 ASCII 动物动画库(20个会动的宠物)》,例如:
- 🐱 猫眨眼
- 🐶 狗摇尾巴
- 🐟 鱼游动
- 🐸 青蛙跳跃
- 🐤 小鸡走路
课堂效果会 非常炸裂。