zoukankan      html  css  js  c++  java
  • 《编写可读代码的艺术》---美观代码

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

    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

  • 相关阅读:
    noip2014Day2解题报告
    浴谷八连测R4
    pythonic-让python代码更高效
    java源码学习(一)String
    湖北省汉十高速公路项目接近尾声,所想所感真的值得写写
    jQuery插件ImageBox的使用
    那位兄弟帮忙写个正则表达式哦!急用阿
    如何在页面调用JS函数的代码
    控件的EnableViewState详细分析
    某人给gridview如此集中数据源,我只用过几个,晕倒!!
  • 原文地址:https://www.cnblogs.com/kimmy/p/3670583.html
Copyright © 2011-2022 走看看