.net/c# 从0开始 (2)为你的程序设计良好而清晰的结构
2007-12-29 13:20
274 查看
(2)为你的程序设计良好而清晰的结构
也许开发微型程序你可以不必事先设计整个程序的结构/模块,但是对于代码行达到数千上万行的中小型程序,你就必须像开发大型程序一样,在正式动手开始编写程序之前,在头脑中,或着说,在纸上,在WORD里,形成关于整个程序的一个框架,你甚至可以用一大堆并未具体实现(函数体为空)的函数去搭建好你的整个项目,然后和你的同事实现分工合作。
1、命名遵循一致
程序中有大量的函数、属性、接口等等,等着你去命名,每个人都有自己的习惯,我们不必可以追求相同,但是,对于同一类命名对象,使用一致的命名方法是很有必要的。
private const string PLAYERS_NUM = 25;
private string hostName = "Moon";
public string HostName
{
get
{
return hostName;
}
}
public void Process_User_Request(string user_id)
{
}
这段代码显示的命名规则是:用首字母大写并用“_”隔开的单词串为函数命名,用全大写单词串为常数命名,用第一个字母小写但中间无隔开的单词串为私有字段命名,第一个字母大写的为属性命名。
你应该有一套自己的命名规则,这样不仅容易区分名字的类型,而且可以使得使用一组相识而又完全不同意义的名字成为可能。
2、分区
#region 常数、变量区
private const string PLAYERS_NUM = 25;
private int line = 0;
private string hostName = "Moon";
...
#endregion
#region 属性区
public string HostName
{
get
{
return hostName;
}
}
...
#endregion
#region 接口 、函数区
public void Process_User_Request(string user_id)
{
...
}
...
#endregion
用#region ... #endregion将你要分开的各种类型区别开来,方便查找,而且可以在编辑器中折叠该段代码。
3、尽量使用.NET类库去完成你的工作
很多以前使用VC6的人在刚开始编写.NET程序时都喜欢使用VC6的控件,实际上,很多控件的功能在.NET类库中都有实现,虽然现在还有很多功能在.NET里面很难甚至无法实现,但是相信随着版本的升级,这些问题会慢慢得到解决,其中WIN32 API函数恐怕是个最典型的例子,目前.NET框架尚未能够提供完全替代它的类库,很多时候,我们不得不时用非托管代码去实现一些用户交互功能。这是.NET的不足。WIN32 API函数复杂而且容易出错,相信被替代也是迟早的事。
在开始你的工作之前,先花一点时间去了解一下.NET的类库以及他们所提供的主要功能,将会为你带来很多方便。
点击“视图”->“对象浏览器”可以查看全部.NET类库的详细条目,在空闲的时候,不妨常点开看看
也许开发微型程序你可以不必事先设计整个程序的结构/模块,但是对于代码行达到数千上万行的中小型程序,你就必须像开发大型程序一样,在正式动手开始编写程序之前,在头脑中,或着说,在纸上,在WORD里,形成关于整个程序的一个框架,你甚至可以用一大堆并未具体实现(函数体为空)的函数去搭建好你的整个项目,然后和你的同事实现分工合作。
1、命名遵循一致
程序中有大量的函数、属性、接口等等,等着你去命名,每个人都有自己的习惯,我们不必可以追求相同,但是,对于同一类命名对象,使用一致的命名方法是很有必要的。
private const string PLAYERS_NUM = 25;
private string hostName = "Moon";
public string HostName
{
get
{
return hostName;
}
}
public void Process_User_Request(string user_id)
{
}
这段代码显示的命名规则是:用首字母大写并用“_”隔开的单词串为函数命名,用全大写单词串为常数命名,用第一个字母小写但中间无隔开的单词串为私有字段命名,第一个字母大写的为属性命名。
你应该有一套自己的命名规则,这样不仅容易区分名字的类型,而且可以使得使用一组相识而又完全不同意义的名字成为可能。
2、分区
#region 常数、变量区
private const string PLAYERS_NUM = 25;
private int line = 0;
private string hostName = "Moon";
...
#endregion
#region 属性区
public string HostName
{
get
{
return hostName;
}
}
...
#endregion
#region 接口 、函数区
public void Process_User_Request(string user_id)
{
...
}
...
#endregion
用#region ... #endregion将你要分开的各种类型区别开来,方便查找,而且可以在编辑器中折叠该段代码。
3、尽量使用.NET类库去完成你的工作
很多以前使用VC6的人在刚开始编写.NET程序时都喜欢使用VC6的控件,实际上,很多控件的功能在.NET类库中都有实现,虽然现在还有很多功能在.NET里面很难甚至无法实现,但是相信随着版本的升级,这些问题会慢慢得到解决,其中WIN32 API函数恐怕是个最典型的例子,目前.NET框架尚未能够提供完全替代它的类库,很多时候,我们不得不时用非托管代码去实现一些用户交互功能。这是.NET的不足。WIN32 API函数复杂而且容易出错,相信被替代也是迟早的事。
在开始你的工作之前,先花一点时间去了解一下.NET的类库以及他们所提供的主要功能,将会为你带来很多方便。
点击“视图”->“对象浏览器”可以查看全部.NET类库的详细条目,在空闲的时候,不妨常点开看看
相关文章推荐
- C#2008与.NET 3.5 高级程序设计读书笔记(4)--C#核心编程结构II
- C#2008与.NET 3.5 高级程序设计读书笔记(3)--C#核心编程结构I
- C#与.NET 3.0高级程序设计读书笔记
- .NET平台下Web树形结构程序设计
- C#2008与.NET 3.5 高级程序设计读书笔记(23)-- ADO.NET之二:断开连接层
- C#2008与.NET 3.5 高级程序设计读书笔记(15)-- .NET程序集入门
- .NET平台下Web树形结构程序设计--李洪根
- .NET平台下创建动态Web树形结构程序设计
- 发现了C#和.net的强大,开始学习!
- .net/c# 从0开始 (3)示例1:读写串口 SerialPort
- C#与.NET 4高级程序设计 学习笔记(二)
- .NET平台下树形(TreeView)结构程序设计
- C#与.NET 4高级程序设计 学习笔记(三)
- .NET平台下Web树形结构程序设计
- C#与.NET 4高级程序设计:第5版
- C#2008与.NET 3.5 高级程序设计读书笔记(16)-- 类型反射、晚期绑定和基于特性的编程
- .NET整个概念开始的时候十分模糊,微软内部也无法清晰的给出定义
- .NET平台下Web树形结构程序设计
- C# 高级编程 - .NET结构
- 程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)