当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

北京大学:《数据结构与算法》课程教学资源(实习课件PPT)风格、设计与实现

资源类别:文库,文档格式:PDF,文档页数:22,文件大小:243.07KB,团购合买
程序的良好风格、程序设计和实现技巧
点击下载完整版文档(PDF)

风格、设计与实现 2007.10

风格、设计与实现 风格、设计与实现 高壮 2007.10

class风格 命名 My Type语句; Mype注释; My Type文档; My Type参考文献; public 风格0; 风格0;

class 风格 { private: private: MyType 命名; MyType 语句; MyType 注释; MyType 文档; MyType 参考文献; public: public: 风格(); ~风格(); };

风格风格O 额外的工作量为了减少工作量 So it is a tradeoff! Good points 阅读别人的代码方便; 自己的代码适合别人学习,别人=?=几个月或者 几年后的自己 Bad point: 风格要付出额外的劳动—增加输入量; 人们经常忽略风格,或者不能达成共识 没有风格有利于代码的保密⑧

风格.风格() 额外的工作量为了减少工作量 额外的工作量为了减少工作量 „ So it is a tradeoff So it is a tradeoff! Good Points Good Points: „ 阅读别人的代码方便; 阅读别人的代码方便; „ 自己的代码适合别人学习,别人 自己的代码适合别人学习,别人=?=几个月或者 几年后的自己。 几年后的自己。 Bad Point Bad Point: „ 风格要付出额外的劳动 风格要付出额外的劳动—增加输入量; „ 人们经常忽略风格,或者不能达成共识; 人们经常忽略风格,或者不能达成共识; „ 没有风格有利于代码的保密 没有风格有利于代码的保密/

风格风格O 我们必须培养良好的代码风格: ■现在处于学习阶段,不能太懒 团队合作要求统一的风格 从最切身的利益讲:有利于助教或者老师 批改;② 所以我们的代码需要风格

风格.风格() 我们必须培养良好的代码风格: 我们必须培养良好的代码风格: „ 现在处于学习阶段,不能太懒; 现在处于学习阶段,不能太懒; „ 团队合作要求统一的风格; 团队合作要求统一的风格; „ 从最切身的利益讲:有利于助教或者老师 从最切身的利益讲:有利于助教或者老师 批改;☺ 所以我们的代码需要风格 所以我们的代码需要风格

风格风格O 两个程序片段 Int qg, 1,1, tot, pre -g9tot是什么? anf(%od", &qg while (-qq >=0) memset(stock, 0, sizeof(stock) anf(%/od%od",&side, &n); -max,min哪里来的? min scanf(o/od",&i) ++stock stock又是哪里的 f G> max)max =j if i< min) min=1

风格.风格() 两个程序片段: „ int main() „ { „ int qq, i, j, tot, pre; , i, j, tot, pre; ------------------ ------------------qq,tot是什么? „ scanf("%d scanf("%d", &qq); „ while ( while (--qq >= 0) „ { { „ memset(stock memset(stock, 0, sizeof(stock sizeof(stock)); „ scanf("%d%d scanf("%d%d", &side, &n); ", &side, &n); „ max = 0; max = 0; --------------------- ---------------------max,min哪里来的? „ min = 10; min = 10; „ tot = 0; tot = 0; „ for (i = 0; i max) max = j; if (j > max) max = j; „ if (j < min) min = j; if (j < min) min = j; „ tot += j * j; tot += j * j;

风格风格O bool Case: Cutable(COORDINATE leftTop int piece) if(left Top. first+pieceSizelpiece] >totalsize II left Top. second+piece Sizelpiecel>totalsize for(int row=leftTop first; row >caseNum while((caseNum--)>0) cutCake. Input

风格.风格() „ bool Case::Cutable(COORDINATE leftTop,int leftTop,int piece) „ { „ if(leftTop.first+pieceSize[piece if(leftTop.first+pieceSize[piece]>totalSize totalSize || leftTop.second+pieceSize[piece leftTop.second+pieceSize[piece]>totalSize totalSize) „ return false; return false; „ for(int for(int row=leftTop.first;row>caseNum; „ Case cutCake cutCake; „ while((caseNum--)>0) „ { „ cutCake.Input cutCake.Input(); „ cutCake.Output cutCake.Output(); „ } „ }

风格命名 命名是程序风格中最重要的部分,也是初 学者最容易忽略(甚至不屑)的部分。 个好的变量命名应该满足: )词能达意: COORDINATE leftTop b)表明身份:变量?函数?全局?局部?常 ?类?宏 存储类型:int?foat?char?

风格.命名 „ 命名是程序风格中最重要的部分,也是初 命名是程序风格中最重要的部分,也是初 学者最容易忽略(甚至不屑)的部分。 学者最容易忽略(甚至不屑)的部分。 „ 一个好的变量命名应该满足: 一个好的变量命名应该满足: a) 词能达意: COORDINATE COORDINATE leftTop leftTop b) 表明身份:变量?函数?全局?局部?常 表明身份:变量?函数?全局?局部?常 量?类?宏?… c) 存储类型:int?float?char?

风格命名 词能达意 ”获得字符串的长度“的函数,下面两个名称 hdzfcdcd O getLength () 孰优孰劣,一目了然! 这里我们不提倡“爱国”,不要用拼音,尤其 是拼音首字母组合米

风格.命名 „ 词能达意: ”获得字符串的长度 获得字符串的长度“的函数,下面两个名称: 的函数,下面两个名称: hdzfcdcd hdzfcdcd() getLength getLength() 孰优孰劣,一目了然! 孰优孰劣,一目了然! **这里我们不提倡 这里我们不提倡“爱国”,不要用拼音,尤其 ,不要用拼音,尤其 是拼音首字母组合 是拼音首字母组合**

风格命名 表明身份: ■ ariable: 局部变量 variable:全局变量 m variable:成员变量 dosomething:函数 CONSTANT VARIABLE:常量 assume 类 MACRO0法宏 vErtex:全局变量,并且是指向顶点的指针

风格.命名 „ 表明身份: „ variable variable:局部变量 „ g_variable g_variable:全局变量 „ m_variable m_variable:成员变量 „ doSomething doSomething():函数 „ CONSTANT_VARIABLE CONSTANT_VARIABLE:常量 „ ClassName ClassName:类 „ MACRO(): MACRO():宏 „ g_pVertex g_pVertex:全局变量,并且是指向顶点的指针 全局变量,并且是指向顶点的指针

风格命名 存储类型(匈牙利命名法) ■ Char charac ■ bOoL eNable Int nLength ■ WORD WPOS ■ LONG OFfset ■ DWORD dwRange 指针pDoc 远指针 lpszName 32位字符串指针1 pszName 32位常量字符串指针 lpszName ■ Windows对象句柄hWnd

风格.命名 „ 存储类型(匈牙利命名法): 存储类型(匈牙利命名法): „ Char chGrade chGrade „ BOOL bEnable bEnable „ Int nLength nLength „ WORD wPos „ LONG lOffset lOffset „ DWORD dwRange dwRange „ 指针 pDoc „ 远指针 lpszName lpszName „ 32位字符串指针 lpszName lpszName „ 32位常量字符串指针 位常量字符串指针 lpszName lpszName „ Windows Windows对象句柄 hWnd

点击下载完整版文档(PDF)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共22页,试读已结束,阅读完整版请下载
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有