欢迎加入BIM行业开发交流1群,获取开发资料 群号:711844216
一、背景
小伙伴们在写C#程序时,会觉得自己代码写的烂,自己都不想再看第二遍,有没有什么比较好的建议,可以让我们借鉴呢?答案是有的,博主发现了国外TimCorey 大神总结的C#十大代码优化建议,写的很好,所以就将其翻译为对应的中文版,供小伙伴们学习参考。
原文:
Top 10 C# Best Practices (plus bonuses)
二、十大优化建议
1.解决方案名称与项目名称
- 解决方案名称,一般是一个很大的,比如公司某某项目
- 项目名称,一般是具体的某个功能,比如UI模块
- 对于dll项目,命名采用xxxLibrary
- 里面最好不要带特殊字符与数字
如下:解决方案名称是“c#最好的练习”,而项目是其中一个“UI模块”
2.一个类放在一个cs文件里面
3.用属性而不是Public variables修饰变量
- 在vs中可以使用快捷键prop
namespace HelperLibrary
{
public class Person
{
//不推荐
public string LastName;
//推荐
public string FirstName { get; set; }
}
}
4.使用public修饰符,仅当有必要时
- 在给类或者类的元素添加修饰符时,如果不知道改用什么,就先设置为private
- 当在其他地方提示不能访问时,再改为public。
5.方法只做一件事
6.不写“聪明代码”,让代码看起来尽量简单
7.保持一致
这里应该都用var或者Peron来指明person类型,而不是不一致
foreach ( var person in people)
{
//do one thing
}
foreach ( Person person in people)
{
//do another thing
}
8.对即使只有一行的if/else/while,也要添加花括号
- if因为只有一句话所以可以不用花括号
- 但是日后维护的时候,很有可能在“日后新增代码”处,增加代码,而忘记将其括起,导致代码出问题。
if (z>1)
Console.WriteLine($"{z}大于1");
//日后新增代码
else
{
Console.WriteLine($"{z}小于1");
}
9.使用$““连接字符串
string firstString = "123";
string secondString = "456";
//不推荐
string connectString1 = firstString + "_" + secondString;
//推荐
string connectString2 = $"{firstString}_{secondString}";
10.避免使用全局变量
- 在app config file 文件中存储全局变量值
三、补充学习
如果想进一步学习代码优化,可以阅读以下书籍,
- 《代码整洁之道》
- 《重构,改善既有代码的设计》
可以进群711844216直接领取上述资料
四、注意事项
1.代码优化,也是一件手艺活,需要不断练习,才能日渐完善。
2.大家好,我是黑夜の骑士,欢迎大家关注我的博客,笔者将持续输出revit二次开发以及编程干货。