问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是良好的程序设计风格?72

发布网友 发布时间:2024-02-08 20:33

我来回答

2个回答

热心网友 时间:2024-03-14 02:32

良好的程序设计风格

全局变量用具有描述意义的名字,局部变量用短名字。函数采用动作性的名字。保持一致性。
缩进形式显示程序结构,使用一致的缩行和加括号风格。使用空行显示模块
充分而合理地使用程序注释 给函数和全局数据加注释。不要注释不好的代码,应该重写。不要与代码矛盾。
友好的程序界面,程序界面的方便性及有效性
不要滥用语言技巧 使用表达式的自然形式。利用括号排除歧义。分解复杂的表达式。当心副作用,像++ 这一类运算符具有副作用。
程序的健壮性:容错
模块化编程

1)应该特别注意程序的书写格式,让它的形式反映出其内在的意义结构。

程序是最复杂的东西(虽然你开始写的程序很简单,但它们会逐渐变得复杂起来),是需要用智力去把握的智力产品。良好的格式能使程序结构一目了然,帮助你和别人理解它,帮助你的思维,也帮助你发现程序中不正常的地方,使程序中的错误更容易被发现。

人们常用的格式形式是:逻辑上属于同一个层次的互相对齐;逻辑上属于内部层次的推到下一个对齐位置。请参考本课程的教科书或《C程序设计语言》(The C Programming Language,Brian W. Kernighan & Dennis M. Rirchie,清华大学出版社,大学计算机教育丛书(影印版,英文),1996。)

利用集成开发环境(IDE)或者其他程序编辑器的功能,可以很方便地维护好程序的良好格式。请注意下面这几个键,在写程序中应该经常用到它们:Enter键(换一行),Tab键(将输入光标移到下一个对齐位置——进入新的一个层次),Backspace键(回到前一个对齐位置——退到外面的一个层次)。

--------------------------------------------------------------------------------

2)用最规范的、最清晰的、最容易理解的方式写程序。注意人们在用C语言写程序的习惯写法,例如教科书中解决类似问题时所使用的写法,《C程序设计语言》一书中有许多极好的程序实例。在这里有一个关于程序模式的相关网页,里面也列出了一些常用的模式。

C语言是一个非常灵活的语言,你可能在这里用许多非常隐晦的方式写程序,但这样写出的程序只能是作为一种玩意儿,就像谜语或者智力游戏。这些东西可以用于消磨时间,但通常与实际无缘。在我们的C语言讨论组里提到过这种东西。

--------------------------------------------------------------------------------

3)在编程中,应仔细研究编译程序给出的错误信息和警告信息,弄清楚每条信息的确切根源并予以解决。特别是,不要忽略那些警告信息,许多警告信息源自隐含的严重错误。我们有许多办法去欺骗编译程序,使它不能发现我们程序中的错误,但这样做最终受到伤害的只能是自己。

--------------------------------------------------------------------------------

4)随时注意表达式计算过程和类型。注意运算符的优先级和结合顺序,不同类型的运算对象将怎样转换,运算的结果是什么类型的,等等。在必要的时候加上括号或显式的类型强制转换。

C语言的运算符很多,优先级定义也不尽合理,很难完全记清楚,因此要特别注意。需要时查一查(不要怕麻烦,相关网页有运算符表),或者直接按照自己的需要加上几个括号。

--------------------------------------------------------------------------------

5)绝不去写依赖于运算对象求值顺序的表达式。对于普通二元运算符的运算对象,函数调用的各个实际参数,C语言都没有规定特定求值顺序。因此,我们不应该写那种依赖于特定求值顺序的表达式,因为不能保证它一定得到什么结果。例如下面的表达式和函数调用都是不合适的,很可能产生你预料不到的结果:

scanf("%d %d", i++, a[i]);
m = n * n++;

--------------------------------------------------------------------------------

6)总保证一个函数的定义点和它的所有使用点都能看到同一个完整的函数原型说明。参看《从问题到程序》第103-107页。

--------------------------------------------------------------------------------

7)总注意检查数组的界限和字符串(也以数组的方式存放)的结束。C语言内部根本不检查数组下标表达式的取值是否在合法范围内,也不检查指向数组元素的指针是不是移出了数组的合法区域。写程序的人需要自己保证对数组使用的合法性。越界访问可能造成灾难性的后果。

例:在写处理数组的函数时一般应该有一个范围参数;处理字符串时总检查是否遇到空字符'\0'。

--------------------------------------------------------------------------------

8)绝不对空指针或者悬空的指针做间接访问。这种访问的后果不可预料,可能造成系统的破坏,也可能造成操作系统发现这个程序执行非法操作而强制将它终止。

--------------------------------------------------------------------------------

9)对于所有通过返回值报告运行情况或者出错信息的库函数,都应该检查其执行是否正常完成。如果库函数没有完成操作(可能因为各种原因),随后的操作有可能就是非法的。这种错误也可能在程序运行中隐藏很长时间,到很后来才暴露出来,检查错误非常困难。

--------------------------------------------------------------------------------

10)在带参数宏的定义字符串中,一般应该给整个字符串和其中出现的每个参数都加括号。

C语言预处理程序是个简单的文本替换程序,它根本不知道C语言的语法结构、优先级规则等。不写括号有时会产生我们不希望的代换结果。

--------------------------------------------------------------------------------

11)所有外部变量名字、所有函数名字,应该只靠前6个字符就能够互相区分。因为有些老的编译程序只关注这些名字的前6个字符。如果不注意这个问题,就可能引起隐含的连接错误。

热心网友 时间:2024-03-14 02:33

结构清晰,简单明了。

热心网友 时间:2024-03-14 02:32

良好的程序设计风格

全局变量用具有描述意义的名字,局部变量用短名字。函数采用动作性的名字。保持一致性。
缩进形式显示程序结构,使用一致的缩行和加括号风格。使用空行显示模块
充分而合理地使用程序注释 给函数和全局数据加注释。不要注释不好的代码,应该重写。不要与代码矛盾。
友好的程序界面,程序界面的方便性及有效性
不要滥用语言技巧 使用表达式的自然形式。利用括号排除歧义。分解复杂的表达式。当心副作用,像++ 这一类运算符具有副作用。
程序的健壮性:容错
模块化编程

1)应该特别注意程序的书写格式,让它的形式反映出其内在的意义结构。

程序是最复杂的东西(虽然你开始写的程序很简单,但它们会逐渐变得复杂起来),是需要用智力去把握的智力产品。良好的格式能使程序结构一目了然,帮助你和别人理解它,帮助你的思维,也帮助你发现程序中不正常的地方,使程序中的错误更容易被发现。

人们常用的格式形式是:逻辑上属于同一个层次的互相对齐;逻辑上属于内部层次的推到下一个对齐位置。请参考本课程的教科书或《C程序设计语言》(The C Programming Language,Brian W. Kernighan & Dennis M. Rirchie,清华大学出版社,大学计算机教育丛书(影印版,英文),1996。)

利用集成开发环境(IDE)或者其他程序编辑器的功能,可以很方便地维护好程序的良好格式。请注意下面这几个键,在写程序中应该经常用到它们:Enter键(换一行),Tab键(将输入光标移到下一个对齐位置——进入新的一个层次),Backspace键(回到前一个对齐位置——退到外面的一个层次)。

--------------------------------------------------------------------------------

2)用最规范的、最清晰的、最容易理解的方式写程序。注意人们在用C语言写程序的习惯写法,例如教科书中解决类似问题时所使用的写法,《C程序设计语言》一书中有许多极好的程序实例。在这里有一个关于程序模式的相关网页,里面也列出了一些常用的模式。

C语言是一个非常灵活的语言,你可能在这里用许多非常隐晦的方式写程序,但这样写出的程序只能是作为一种玩意儿,就像谜语或者智力游戏。这些东西可以用于消磨时间,但通常与实际无缘。在我们的C语言讨论组里提到过这种东西。

--------------------------------------------------------------------------------

3)在编程中,应仔细研究编译程序给出的错误信息和警告信息,弄清楚每条信息的确切根源并予以解决。特别是,不要忽略那些警告信息,许多警告信息源自隐含的严重错误。我们有许多办法去欺骗编译程序,使它不能发现我们程序中的错误,但这样做最终受到伤害的只能是自己。

--------------------------------------------------------------------------------

4)随时注意表达式计算过程和类型。注意运算符的优先级和结合顺序,不同类型的运算对象将怎样转换,运算的结果是什么类型的,等等。在必要的时候加上括号或显式的类型强制转换。

C语言的运算符很多,优先级定义也不尽合理,很难完全记清楚,因此要特别注意。需要时查一查(不要怕麻烦,相关网页有运算符表),或者直接按照自己的需要加上几个括号。

--------------------------------------------------------------------------------

5)绝不去写依赖于运算对象求值顺序的表达式。对于普通二元运算符的运算对象,函数调用的各个实际参数,C语言都没有规定特定求值顺序。因此,我们不应该写那种依赖于特定求值顺序的表达式,因为不能保证它一定得到什么结果。例如下面的表达式和函数调用都是不合适的,很可能产生你预料不到的结果:

scanf("%d %d", i++, a[i]);
m = n * n++;

--------------------------------------------------------------------------------

6)总保证一个函数的定义点和它的所有使用点都能看到同一个完整的函数原型说明。参看《从问题到程序》第103-107页。

--------------------------------------------------------------------------------

7)总注意检查数组的界限和字符串(也以数组的方式存放)的结束。C语言内部根本不检查数组下标表达式的取值是否在合法范围内,也不检查指向数组元素的指针是不是移出了数组的合法区域。写程序的人需要自己保证对数组使用的合法性。越界访问可能造成灾难性的后果。

例:在写处理数组的函数时一般应该有一个范围参数;处理字符串时总检查是否遇到空字符'\0'。

--------------------------------------------------------------------------------

8)绝不对空指针或者悬空的指针做间接访问。这种访问的后果不可预料,可能造成系统的破坏,也可能造成操作系统发现这个程序执行非法操作而强制将它终止。

--------------------------------------------------------------------------------

9)对于所有通过返回值报告运行情况或者出错信息的库函数,都应该检查其执行是否正常完成。如果库函数没有完成操作(可能因为各种原因),随后的操作有可能就是非法的。这种错误也可能在程序运行中隐藏很长时间,到很后来才暴露出来,检查错误非常困难。

--------------------------------------------------------------------------------

10)在带参数宏的定义字符串中,一般应该给整个字符串和其中出现的每个参数都加括号。

C语言预处理程序是个简单的文本替换程序,它根本不知道C语言的语法结构、优先级规则等。不写括号有时会产生我们不希望的代换结果。

--------------------------------------------------------------------------------

11)所有外部变量名字、所有函数名字,应该只靠前6个字符就能够互相区分。因为有些老的编译程序只关注这些名字的前6个字符。如果不注意这个问题,就可能引起隐含的连接错误。

热心网友 时间:2024-03-14 02:33

结构清晰,简单明了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
吃干燥剂会有什么反应 干燥剂不慎食用怎么办 于冕被流放多少时间才回来 石羊场客运站坐几路公汽到成都市龙潭社区保平村九组? 从成都石羊场到龙潭寺北湖客运站做地铁公交咋个赶车呀?老师们_百度知 ... 成都理工大学坐车到石羊场客运站怎么走?大概要多久啊?谢谢!! 请问一下成都理工大学到石羊车站怎么做车啊? 还在盲目护理毛孔吗?如何正确护理毛孔? 毛孔粗大该如何处理? 脸t区毛孔粗大怎么办 毛孔粗大的原因是什么 良好的程序设计风格主要包括哪些内容?1 良好的编程风格 如何形成一个良好的编程风格1 良好的编程风格如何影响软件质量?2 形成良好的程序设计风格的原则是什么?1 双卡双待的手机信号 是不是比单卡的信号 差? 有解吗? 什么是良好的编程风格 为什么说 中国文化中的易经八卦,太极阴阳原理涵盖了宇宙万物的...2 关于“八卦”(乾、坤、离、坎、艮、震、兑、巽)的相关知识14 什么叫八卦?有哪八卦?有什么用处?26 人民日报把“五行八卦”拟为70个中国文化知识的一、二位,有道... 中国文化里八卦具体是什么,它所代表的八种事物又分别有哪些具体...10 中国文化之八卦探秘:八卦原意究竟是怎样的 XRD怎么确定具体物相1 急问大家:用2007EXCEL 做折线图时,如果缺失了部分数... 民族资本主义的含义是神马?5 民族资本主义是什么意思?33 民族资本主义是指什么?38 什么是民族资本主义?2 "民族资本主义"是什么意思,是个什么概念55 什么是良好的编程风格2 为建立良好的编程风格应遵循什么原则12 关于编程风格??22 关于编程风格,你有什么好的建议? 兔子可以沾水吗62 小兔子,能不能吃沾水的东西10 ...我比较直。但还是聊了一天,就算没有话题也聊。 她说她想自由... 醉驾后危害轻微,交警队撤销立案,以后对子女有影响吗? 现代有一款跑车叫什么牌子 撰写研究报告行文方面的一般要求 教育研究报告和学术论文撰写需要遵循的基本要求有哪些 兔子能不能喝水·沾水呢?102 喂小兔子的事物是不是不能沾水啊,那它喝不喝水呢16 兔子为什么不能喝水?1613 小兔子为什么不能喝水..1365 兔子为什么不能碰水?271 沃击霆平板怎么样 锄击的意思锄击的意思是什么 锄击的解释锄击的解释是什么 峨眉山是多久变成景区的,还有峨眉山景区的发展史?