编码风格不是编码规范

程序设计,编码风格书写规范总结 对于软件设计过程中良好的编码风格,进行了详细的叙述总结,对于刚毕业准备从事软件设计,编码,测试等工作有较好的提高作用....1 排版 2 注释 3 标识符命名 4 可读性 5 变量、结构 6 函数、过程 7 可测性 8 程序效率 9 质量保证 10 代码编辑、编译、审查 11 代码测试、维护 12 宏 1 排版 ¹1-1:程序块要采用缩进风格编写,缩进的空格数为4个。 说明:对于由开发工具自动生成的代码可以有不一致。 ¹1-2:相对独立的程序块之间、变量说明之后必须加空行。 示例:如下例子不符合规范。 if (!valid_ni(ni)) { ... // program code } repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni; 应如下书写 if (!valid_ni(ni)) { ... // program code } repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni; ¹1-3:较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。 立即下载

     本文转载自:http://kb.cnblogs.com/page/181283/

     英文原文:The conventions we follow

     我并不认为程序员是一个情绪特别丰富的群体。但有一些事情却能很容易刺激程序员的神经,那就是代码格式和布局(formatting and layout of code)。如果看到一个函数的括弧在同一行上没有闭合,我的眼睛会喷血。如果看到有人没有恰好的在两个函数间留一空行,我的小腿会抽筋。但重点在这里——除非是在家里开发自己的业余爱好软件,我的这些个人喜好其实是无关紧要的。同样,作为一个团队中的一员,你的个人编程喜好也应该放到一边。

  编码风格(coding style)很容易会和编码规范(coding standard)混为一谈,因为这两个词经常会被人换着使用。我认为,编码规范同时包括了编码风格和其它规范,不仅仅指代码格式。例如,像“返回成功/失败的函数应该用一个整数作为返回值”,这样的规则不属于编码风格。在这篇文章中,编码风格简单的指一个描述如何格式化代码的说明。编码风格中的规则通常会涉及到下面这些主题:

  • 缩进
  • 空格的使用
  • Tab的使用
  • 注释
  • 命名习惯
  • 代码行长度
  • 语言特点风格,例如是否使用可有可无的分号。

  编码风格都是为特定的编程语言制定的,可以把它们看作“我们共同的约定”。如果在你的公司里,在你在时,在这些事情正在制定完成,你可以提出你的喜好,那你是幸运。但通常情况是,一种编码风格在其生命期里看着无数的程序员来了又走了。在我的眼里,遵守编码风格有下面三个主要好处:

  1. 遵守编码风格使代码更容易维护

  今天由这个程序员实现的软件,明天可能需要另外一个程序员维护。如果所有代码中大家使用同一种编码风格,这另外一个程序员快速的扫一眼陌生的代码,就能根据大家约定的编程习惯,推断出代码的作用。如果编码风格中指明常量应该全用大写字母表示,那么,当看到一个全是大写字母的变量时,你就能推断出它是常量。同样的,如果编码风格中规定包的引入要有顺序,那你立刻就能知道去哪里找这些包。这使得代码很容易维护。

  2. 编码风格使形成代码集体所有制

  代码集体所有制意味着全体程序员要负责所有代码。集体所有制的作用很大,它能有效的增大巴士因子——一个项目能承受多少个程序员被车撞了而不影响项目的正常进行。在整个代码库中坚持延用一种常用的编码风格,所以程序员都能更容易的理解、维护。

  相反,如果在一个大型的软件项目中,每个程序员都使用自己的编码风格,最终会引起一场维护版图的战争,就像动物世界里我们的这些朋友:

气味记号(也称喷洒尿液或领土记号)是动物标记自己领土范围的一种行为。通常是通过留下具有强烈气味的物质来完成,很多时候是通过在领土中突出的物体上小便。- 维基百科

  个人编码风格就像是狗撒尿,留下自己的势力记号。他们在代码中留下自己的符号,在程序员之间创造壁垒。

  3. 编码风格能消除那些长久的纷争

  每个程序员都对编码风格有强烈的自我认同。这种感觉深植于每个人的自负中,每当和同事遇到是否应该在关键词周围使用空格时,这种讨论很容易升级而僵持不下。但是,静下来想想——这真的无所谓。不管是不是在关键词周围使用了空格,只要能达成一致,大家都能从中获得易维护和集体所有制的好处。在这种情况中,闭着眼睛,遵循一种编码风格就行了。

  你不需要喜欢这种编码风格。如果你不喜欢里面的某条规定,那就骂几句这个文档,只向文档发脾气,就像人类迁怒于上帝。然后还是按照约定做事。这样做更具有建设性,比无休无止的吵论这些不重要的事情好的多。

  有了一套编码风格并不一定会给你带来好处——除非大家都遵守。有些时候,你并不一定需要手工去调整代码。很多的程序编程器,例如Eclipse,能配置帮你格式化代码,使其符合编码风格。即使你的编辑器没有这种功能,很多其它工具也能够自动按照某种风格格式化一个文件。在我们的团队中,我们使用indent 和 uncrustify 工具。我还听说过一些其它好东西,比如ReSharper。那些不能被自动实施的规则,例如命名习惯,可以在代码审查的过程中落实。

Unity游戏开发实战:如何用科大讯飞离线语音合成SDK实现NPC对话(附完整代码) 本文详细介绍了如何在Unity游戏开发中使用科大讯飞离线语音合成SDK实现NPC对话系统。通过完整的代码示例和优化技巧,开发者可以快速集成本地语音合成功能,提升游戏沉浸感,同时避免网络延迟问题。文章涵盖SDK集成、核心语音合成模块实现以及高级应用技巧,特别适合RPG游戏开发者参考。 阅读详情

相关推荐

OnePlus线刷救砖与OTA全量包:从故障恢复到系统升级的完整指南

本文详细介绍了OnePlus手机线刷救砖与OTA全量包的完整操作指南,包括故障诊断、线刷救砖实战教程、OTA全量包升级优势及进阶玩法。通过具体案例和实用技巧,帮助用户从系统故障恢复到安全升级,特别适合Android系统爱好者和OnePlus用户。

weixin_30338481的博客 625

软工总结系列4——编码设计

程序的编码设计属于软件工程详细设计的一个具体方面,它的主要对象是系统的程序编写人员,程序员如果能对一个系统有个好的编码设计,风格,不仅仅是对系统的维护有好处,也容易让其他人了解和看懂自己的代码。       在对程序进行编码时,首先要选用一门设计语言,设计语言无好坏,只要选择最适合系统实现和程序人员熟悉的语言即可。编码要符合结构化的程序设计,如图所示,这样既能让自己的编码符合规范,对他人读懂自己

石朝翠 廊坊师范学院信息技术提高班 第十期 958

Cursor锁机了怎么办?实测这个开源插件帮你无限“续杯”,附详细安装与防踩坑指南

本文提供了Cursor锁机问题的详细解决方案,包括使用开源插件`cursor-fake-machine`修改机器标识、锁定配置文件权限以及优化使用规范。同时介绍了如何利用Cursor开发油猴脚本将微信公众号文章高效转换为Markdown格式,提升内容创作效率。

weixin_26805597的博客 767

程序员需要知道的编码规范,设计思想,代码风格

每一位开发者当应当知晓并遵循的软件设计规范。代码风格,代码正交性,断言式编程,资源配平,得墨忒耳法则,时间耦合,巧合编程。

luohaha66的博客 933

基于Meteoinfo与TrajStat的后向轨迹聚类分析实战:从数据准备到可视化制图

本文详细介绍了基于Meteoinfo与TrajStat进行后向轨迹聚类分析的完整实战流程。从Java环境配置、Meteoinfo软件与TrajStat插件安装,到精准获取NOAA气象数据、设置参数进行批量轨迹计算,再到利用聚类分析提炼主要气流路径,并最终完成专业地图可视化与制图。文章旨在帮助环境与气象研究者快速掌握从数据准备到成果输出的全链路操作。

p4q5r6s7t的博客 804

100天精通Python(爬虫篇)——第122天:基于selenium接管已启动的浏览器(反反爬策略)

100天精通Python(爬虫篇)——第122天:基于selenium接管已启动的浏览器(反反爬策略)

努力让自己发光,对的人才能迎着光而来 13万+

FreeRTOS的编码标准和命名风格

FreeRTOS 核心源码文件的编写遵循 MISRA 代码规则,同时支持各种编译器。但考虑到有些编译器的性能还比较弱,不支持 C 语言的新标准 C99 和 C11 的一些特性和语法,所以 FreeRTOS 的源码中就没有引入 C99 和 C11 的新特性,但是有一个例外,源码中有用到头文件 stdint.h(这个文件是C99标准才引入的)。

智小星的博客 4545

Python 实战:爬取高德地图交通数据(路况拥堵指数分析)

高德地图是由高德软件有限公司开发的一款地图导航产品,提供详细的地图浏览、路线规划、实时路况、公共交通查询等功能。高德地图拥有庞大的用户群体和海量的交通数据,这些数据对于交通管理、城市规划、出行服务等领域具有重要的价值。通过对高德地图交通数据的分析,我们可以了解城市交通的运行状况,识别拥堵路段,预测交通流量,为交通管理部门和出行者提供决策支持。

yansideyucsdn的博客 2686

C语言代码书写风格

相信经常coding的同学在项目中看别人的代码一定会像我一样的头痛,特别是有点强迫症的程序猿在看和自己风格差距较大的代码的时候内心甚至会出现烦躁和想去“改正”的念头。下面就为大家总结下一些常见的代码编程风格。一、符合语句的代码风格 1. K&R风格,Kernighan和Ritchie共同完成C语言‘白皮书’C Programing Language一书的时候使用的风格,由于此书被当时的C程序员誉为

枕上雪 1万+

WEB浏览器视频流播放方案

基于Media Source Extensions播放视频流 浏览器播放视频的几种方法 一、H5 video标签 在浏览器播放视频,可以使用HTML5原生的video标签。但其播放的格式使用一定限制的,目前video只支持三种格式WebM、Ogg、MP4。 WebM:WebM 文件使用 VP8 视频编解码器和 Vorbis 音频编解码器 Ogg :Ogg 文件使用 Theora 视频编解码器和 Vorbis音频编解码器 MP4: MPEG 4文件使用 H264 视频编解码器和AAC音频编解码器 上面三种

machh的专栏 2381

[3.4]【机器人运动学MATLAB实战分析】PUMA560机器人逆运动学MATLAB计算

PUMA560是六自由度关节型机器人,其6个关节都是转动副,属于6R型操作臂。各连杆坐标系如图1,连杆参数如表1所示。本文对PUMA560机器人逆运动学进行分析并MATLAB计算

m0_72676510的博客 1947

看“编码风格不是编码规范”之感

编码风格不是编码规范,文章中指出:“编码规范同时包含了编程风格和其他规范”。以及“编码风格简单的指一个描述如何格式化代码的说明”。 文章的重点的遵守编码风格有三个好处:1、使代码更易维护;2、使形成代码集体所有制;3、能消除那些长久的纷争。 文章里有些文字我还是挺喜欢的,除非开发业余软件,团队协助时个人的喜好其实是无关紧要的。还有个人编程风格就像狗撒尿,在程序员之间创建了壁垒。以及种种讨论导致

My Code,My Team,My Life-思考、沉淀、微创新 929

paddlehub无法安装,安装报错【Bug完美解决】

paddlehub无法安装,安装报错【Bug完美解决】 我们正在进行一个基于Python的项目开发,该项目需要集成PaddleHub,以利用其丰富的深度学习模型和工具。PaddleHub提供了一种简便的方式来使用预训练模型,以加速开发过程并提高模型效果。 现在paddlehub安装出现问题了,本文彻底解决paddlehub无法安装的问题。

一键难忘的博客 3390

【JAVA编码规范】JAVA编码规范,超级详细的JAVA编码规范,太棒了,值得你通读一遍

【JAVA编码规范】JAVA编码规范,超级详细的JAVA编码规范,太棒了,值得你通读一遍 编码规范对于程序员而言尤为重要,有以下几个原因: 一个软件的生命周期中,80%的花费在于维护 几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护 规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的设计和代码 良好的编码规范可以有效避免一些低级错误

xzb5566的专栏 1万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

C++编码规范

命名规范 通用命名规则 类型名 类型名(类、结极体、类型定义(typedef)、枚举)以大写字母开始并混合大小写,如 Line, SavingsAccount 变量名 变量名必须以小写字母开始并混合大小写, 如 line, savingsAccount 函数名 函数名必须以小写字母的动词开始并混合大小写,如: getName(), c

Seanyxie Blog 2357

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

谈谈编码风格与编码规范

今天看了一篇文章,是关于编码风格的,想起来之前做项目的时候因为命名引起的一些问题,然后大家是如果不情愿的修改了已经写好的代码,然后最近一直写英语,对计算机的学习暂时告了一个段落,而且英语总结又无法公开,所以我推荐一下这篇博客. ­ 一提到编码风格时,往往也会引起腥风血雨,比如   JavaScript      语句后面应该加分号吗?   缩进应该用      Tab、四

蒋倩兰——蕙质兰心 1847

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Java开发编码规范

java 开发规范

qq_24577585的博客 5402

c++编码规范

对于编码规范这个东西,没有一个定式,主要是由于大型产品的开发通常由很多的人协同作战,如果不统一编程规范,最终合到一起的程序,其可读性将较差,这不仅给代码的理解带来障碍,增加维护阶段的工作量,同时不规范的代码隐含错误的可能性也比较大。

qq_45280097的博客 1037

团队内编码规范

有些编程规范是大部分编程语言通用的,特把它独立出来。示例中我采用 Java 语言。有时也混杂其他语言。本编码规范完全适用于 Java 和 Javascript 的编程规范,对其他语言也有借鉴作用。既不鼓励也不反对这样做,视个人喜好而定。使用分支能够有效地避免不同开发工作之间的相关干扰。当需要开发新功能、修复bug、试验新的想法时,应该新建一个分支,待开发工作完成并测试后,再把工作分区合并到主分区上。Java编程必须遵守通用编程规范和本编程规范。

HaSaKing的博客 5901

【编码规范】Linux 内核编码风格

目录 重点速读: 1) 缩进 2) 把长的行和字符串打散 3) 大括号和空格的放置 3.1) 大括号 3.2) 空格 4) 命名 5) typedef 6) 函数 7) 集中的函数退出途径 8) 注释 9) 你已经把事情弄糟了 10) Kconfig 配置文件 11) 数据结构 12) 宏、枚举和 RTL 13) 打印内核消息 14) 分配内存 15) 内联弊病 16) 函数返回值及命名 17) 使用布尔 18) 不要重新发明内核宏 19) 编辑器模式行(配置信.

诸葛一帆丶的博客 2525
上一篇: VS2005中使用Qt4.8.5遇到的问题
下一篇: 关于模式
e5Max
博客等级 码龄14年 145粉丝 129原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值