zoukankan      html  css  js  c++  java
  • enote笔记法使用范例(1)——自己总结的一些编写代码的常识 (a)

    章节. 编程习惯
     
     
    why 函数<<为了>>便于提升软件开发效率和维护效率)
    开发角度:
    1)隐藏实现细节,这也是API质量最重要的品质
    2)复用:通过使用函数来代码复用,提高了软件开发效率
    3)可维护性:软件更易维护:函数内的代码修改,能够一次改动<<从而>>多处地方自动改动,便于根据需求改动功能或改变算法来提高效率。
    4)可读性&可维护性(如果函数可读性差,则会导致因为代码理解困难,进而影响到了可维护性):代码可读性提高:良好命名的函数能通过函数名了解该代码块的功能职责,比起代码块显而易见这样更容易理解。由于这个原因,有时只有一次使用的代码块也应该写成函数。
    客户角度:
    1)性能:提升程序运行效率。如果函数所包含的代码块体积比较大时也提升了软件运行效率,如果代码块体积比较小智能的编译器也会根据情况选择是否内联。


    how 函数
    1)。1)保证传入的参数正确,确保能应对垃圾输入&非法输入。根据情况处理,比如可以抛出异常。
         。2)并写明pre,post。
     
    2)。1)如果函数有返回值,确认每条分支都有返回值
         。2)保证post可控
     
    3)。1)对类数据成员是否修改
         。2)函数中调用了哪些函数use
          
    4)让函数功能单一。比如根据输入执行操作返回输出,这时一般不应再修改输入or执行其他功能。
     
    why 类的访问控制,来确定边界(《c++编程思想》p139
    1)可维护:将具体实现接口分离开。这样更易维护,不需要修改客户代码,只需在该类中改动。(《API Design for C++》:那些最有可能修改的部分,不应作为客户端的api
    2)安全:防止客户端程序员错把内部数据当接口,隐藏实现细节
    3)可读性:类的客户程序员可以一目了然地知道哪些是接口可以用,哪些不可以用
     
    which API质量:
    .)复用性&可维护性(隐藏实现)&可读性&性能
    .)信息隐藏&一致性&低耦合(《api design for c++》p32
    ..........
     
    how阅读代码:
     .)一般顺序:类,类的对外接口方法,方法
     
    .)先直观了解软件的各个功能:
    1)有哪些类类之间的相互关系,类之间的数据是如何传递的
    2)类有哪些public方法
    3)每个类的内部实现,包括数据成员和私有函数,以及函数间的调用关系
    4)函数或者方法,功能,pre,post,use哪些function
     
    .)部分算法函数阅读,特别是循环
    先搞清楚执行了几次循环,循环内的自变量是什么,因变量是什么,不变量是什么
    ..........
     
     
     
    以上,版权归作者所有,任何形式转载请联系作者。
    --------------------------------------------------------------------------
    再发两张截屏的jpg版本:
     
     
     --------------------------------------------------------------------------
    备注:这里的内容全部都是我的原创,本文的版权归EverSteins所有,转载请联系作者授权,抄袭必究。
     
  • 相关阅读:
    Android游戏开发22:Android动画的实现J2me游戏类库用于Android开发
    android sqlite SQLiteDatabase 操作大全 不看后悔!必收藏!看后精通SQLITE (第三部分,完整代码)
    使用OGR创建dxf格式矢量数据
    mysql 数据库引擎 MyISAM InnoDB 大比拼 区别
    android sqlite SQLiteDatabase 操作大全 不看后悔!必收藏!看后精通SQLITE (第二部分)
    mysql 更改数据库引擎
    android sqlite SQLiteDatabase 操作大全 不看后悔!必收藏!看后精通SQLITE (第一部分)
    android 数字键盘使用
    MySQL Innodb数据库性能实践
    eclipse : Error while performing database login with the driver null
  • 原文地址:https://www.cnblogs.com/eversteins/p/6201256.html
Copyright © 2011-2022 走看看