《编写可读代码的艺术》---美观代码

好的代码应该看起来养眼,确切来说,有以下三条原则:

  1. 使用一致的风格,使读者很快就习惯这种风格
  2. 让相似的代码看上去相似
  3. 把相关代码进行分组,形成代码块

秀外与慧中

在本章中,我们只关注可以改进代码的简单“审美”方法,这些表面上的改动,我们称之为“外功”-简单的改变,就能大幅提高阅读性

而架构上的重构,我们称之为“内功”-这方面的修改就需要火候了,但是借助插件,这个过程不再繁琐

这两者并不冲突,最好是同时在两个方向上努力,让代码变得“秀外慧中”

在visual studio的帮助下,ctl+k+d;我们的代码的缩进、排列就会变得很好,因此,本文主要讲述的是代码内容的组织上。

1:模块组织法

比如我们要描述一个人的躯体,我们按照模块,来组织属性

 /// <summary>
    /// 人类
    /// </summary>
   public class Person
   {
       #region 四肢

       /// <summary>
       ////// </summary>
       public string Hand
       {
           get; set; }

       /// <summary>
       ////// </summary>
       public string Foot
       {
           get; set; }

       #endregion

       #region 头部

       /// <summary>
       /// 眼睛
       /// </summary>
       public string Eye
       {
           get; set; }
       
       /// <summary>
       /// 鼻子
       /// </summary>
       public string Nose
       {
           get; set; }

       /// <summary>
       /// 耳朵
       /// </summary>
       public string Ear
       {
           get; set; }

       #endregion

       #region 内脏

       /// <summary>
       /// 心脏
       /// </summary>
       public string Heart
       {
           get;
           set;
       }

       /// <summary>
       ////// </summary>
       public string Luang
       {
           get;
           set;
       }
       #endregion
   }

这样的组织有什么好处呢?比如在Reshaper里面,我们可以直接查看文件的结构(ctl+alt+f)

这样查找对应方法是不是变得很清晰?

2:优先级组织法

比如Unity3D开发,我们从Monobehavior里面继承了一大堆事件、属性,在这么庞杂的环境里,我们该如何组织代码?

本人实际代码中的组织方式如下:

#region 公共属性

#endregion

#region 私有属性

#endregion

#region 重写事件

#endregion

#region 公共方法

#endregion

#region 私有方法

#endregion

 

 

 

posted @ 2014-04-17 13:51  谪仙  阅读(478)  评论(0编辑  收藏  举报