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所有,转载请联系作者授权,抄袭必究。

时间: 2024-10-05 06:05:31

enote笔记法使用范例(1)——自己总结的一些编写代码的常识 (a)的相关文章

enote笔记法使用范例(2)——指针(1)智能指针

要知道什么是智能指针,首先了解什么称为 “资源分配即初始化” what RAII:RAII—Resource Acquisition Is Initialization,即“资源分配即初始化” 在<C++ Primer>这样解释的,“通过定义一个类来封装资源的分配和释放,可以保证正确释放资源” 核心:C++98提供了语言机制:对象([!值语意对象])在超出作用域,,析构函数会被自动调用 [如果构造函数中抛出异常,则不会调用析构函数.只有构造函数正确地执行,构建对象成功,才会调用析构函数] &l

受康奈尔笔记法启发设计的程序员算法手写本

大多数程序员都习惯了平时在电脑上敲代码,但也有些情境要求我们手写代码,比如平时学习时做纸质笔记,完成老师布置的课程作业,同事之间交流讨论讲解思路,ACM比赛时手写分析算法,还有最常见的面试手写算法等.昨天看了康奈尔笔记法,觉得有点意思,于是想着把它应用到程序员的圈子里来,可以在面试等场合很好的向面试官阐述算法思路同时规范书写,希望能给大家带来一些帮助. 一.什么是康奈尔笔记法 图1.康奈尔笔记法 5R笔记法,又叫做康奈尔笔记法,是用产生这种笔记法的大学校名命名的.这一方法几乎适用于一切讲授或阅读

5R(康奈尔)笔记法

今天无意中想起制作一个个性化的笔记模板,传送门:5R笔记法模板 细节日后研究. ———————— 于20150413

Tips 14:思维导图读书笔记法

Tips 14:思维导图读书笔记法作读书笔记不仅能提高阅读书.文的效率,而且能提高科学研究和写作能力.读书笔记一般分为摘录.提纲.批注.心得几种,这里特别推荐思维导图式的读书笔记. 通过思维导图先大概划分出一个整体的框架,专业书可以按章做,先把每一章的重点总结出来.针对某个细节,书中说可能会非常精彩,这时把书中的部分内容摘录做成读书笔记.刚开始时是记录要点,在后期整理时会加上一些自己的想法和阅读时的心得.有时会单独把心得和想法做成单独的思维导图,把这些想法从新汇总.提练之后会非常有价值. 第一遍

电子笔记本的思考(1)(ver0.2)

章节:电子笔记本的思考(1)   陶哲轩在<解题·成长·快乐——陶哲轩教你学数学>中着重强调,用纸笔来“缓存”思维对于数学解题的重要性: 用选定的符号表达你所知道的信息,并画一个示意图.把所有信息写在纸上,有三点好处: a)解题时,便于思考: b)陷入困境时,可以盯着纸进行思考: c)把知道的写下来,这个过程本身可以激发新的灵感和联想. 但请注意,不要写下过多的信息和细节.一种折中的办法是着重强调那些你认为最有用的事实,而把那些令人怀疑的.冗杂的或异想天开的想法写在另一张草稿纸上. 同样地,刘

知识点2-5:了解Razor语法

以往开发ASP.NET Web Form时,在ASPX页面上都会出现许多夹杂C#/VB.NET与HTML的情况,而先前使用<%...%>这种传统圆角括号的表示法会让HTML标签与ASP.NET代码区块混杂一起,当页面变得复杂后,这类混合的代码也开始变得难以阅读,相信大家都有相同的感受. 从ASP.NET MVC3开始引入了全新的Razor语法,用@符号来代表代码段,试图提供一个容易学习又精简的语法.Razor语法推出之后,广受ASP.NET MVC开发人员的喜爱,搭配Visual Studio

IT笔试题

史上最发散的软件工程师笔试题 1.请编写代码实现如下逻辑:有一只猫和多只老鼠,猫叫了一声,老鼠都吓跑了. 2.请介绍一种数据结构和算法,代表你在这个领域的能力. 3.请从正反两面介绍一下你对代码质量的看法,什么样的代码称得上写的漂亮,什么样的代码写的糟糕. 4.请介绍一种设计模式,代表你在这个领域的能力.

PHP笔试题总结1

---恢复内容开始--- 1.1    PHP中判断变量的相关函数 1.2    strlen( )与mb_strlen( )的作用分别是什么(新浪网技术部) strlen 和mb_strlen 都是用于获取字符串长度的,其中strlen只针对单字节编码字符,也就是说它计算的是字符串的总字节数,如果是多字节编码,如gbk和utf8,使用strlen得到的不是字符串的个数,而是该字符串的总字节数,可以使用mb_strlen获取其字符个数,使用mb_strlen要注意两点,一是要开启mbstring

UC算法笔试题

[QQ群: 189191838,对算法和C++感兴趣可以进来] 说实话,昨天UC的笔试题基本全是基础,但是太基础,直接导致很多都不能确定了.看来不管找工作还是找实习,一定要复习到位.好在我也一直是抱着打酱油的味道,实习与否不是特别在意,否则真心要鄙视死自己啦. 好的,言归正传,题目是一道经典的题目:在一个字符串中找到第一个只出现一次的字符.要求 1.必须用C/C++编写代码. 2.不能使用嵌套的for/while循环. 看到这道题时,我坑爹的看成不能使用for/while循环了.我当时想的是,要