• 代码中的注释, 需要面向功能注释,而非使用注释


      写代码注释的时候, 需要倾向写功能,而不是这个是在什么情况下拿来干什么的, 背后的关键问题就是抽象函数需要面对功能抽象,而非使用场景.

      为什么会有这个问题呢?

      因为我们一般如果在代码重构的时候, 重构出来的代码一般是由场景和上下文的, 而其原来就是使用场景下的一段代码,抽象成函数以后, 我们会对什么情况下拿来干什么的这个意图更明确, 所以会有些这种注释的清晰.

      就重构来讲,这是一个思路问题. 一般性的重构,是要抽象出软件中,共性的东西, 抽象成不同的层次和模块. 清晰和优化结构. 

      

      下面有一个例子:

       /// <summary>

            /// 执行插入或修改语句

            /// </summary>

            /// <param name="sqlStr"></param>

            /// <returns></returns>

            public int ExecutNonQuery(string sqlStr)

            {

                return db.ExecuteNonQuery(CommandType.Text, sqlStr);

            }

            注释应该改为: 以NonQuery方式执行Sql,返回影响的行数

     

    这个方法是一个很普通的执行sql的方法, 从注释上很明显做了假设,其实这个函数还可以做很多功能,创建索引,约束,建表等等.

     

    上面的思路可能有点乱, 那最后总结一下吧:

    1:抽象函数和接口应该面向功能,而非使用场景.

    2:抽象函数和接口不应该假设使用方的场景.

    3:设计函数,应该尽量采用单一功能的思路进行设计,避免设计功能过大的底层函数.

     

  • 相关阅读:
    k8s service的DNS名称解析之CoreDNS
    k8s service负载均衡实现之iptables
    k8s 将项目暴露到互联网访问
    k8s 日志按体现分类与采集思路
    k8s ingressd的http对外暴露网站
    k8s 容器交付流程和项目部署流程
    k8s ingress使用DaemonSet部署
    Google Base与科学家数据共享 (Nature Vol 438|24 November 2005)
    总结:rdf:ID和rdf:about的区别(转载)
    一个元搜索引擎
  • 原文地址:https://www.cnblogs.com/dunnice/p/1939866.html
Copyright © 2020-2023  润新知