首页 > 其他分享 >规范必要性

规范必要性

时间:2024-10-15 11:12:30浏览次数:6  
标签:可读性 代码 规范 必要性 遵守 团队 Tue

代码规范也叫编程规范,是指对编码相关的行为做出一系列约定,包括文件组织、代码格式、函数注释、变量命名等。使项目易于管理的方法之一就是加强代码的一致性,让团队中的成员可以快速读懂其他人的代码。保持统一的编程风格意味着可以很容易根据一些规则来推断出各种代码的含义。创建通用、必须的习惯用语还可以让代码更容易被理解。

根本原则

  • 避免风格争论:如何格式化代码并没有正确的答案,但在团队项目中,一致性很重要。
  • 易读而非易写:通常情况下,代码被编写一次,而被阅读多次、修改多次。因此值得花费稍长的时间编写代码,以获得更好的阅读性。

遵守代码规范的好处

遵守代码规范可以增加代码可读性、减少维护成本、改善工作流程、促进团队协作以及提升自身成长等等。举例来说:

增加代码可读性

代码规范对可读性有巨大的提升。当团队遵守相同的规范时,在阅读他人代码时就像在阅读自己代码一样。同时规范的代码也有助于同事(包括新入职的同事)尽快理解代码意图。

// × 不好:可读性不佳,需要掌握运算顺序才能理解等号后的表达式
var a = b && c || d && e;

// √ 好的:绝大多数程序员都能理解
var a = (b && c) || (d && e);

减少维护成本

几乎没有任何一个模块,在项目的整个生命周期中,都由最初的开发人员来维护。代码的可读性提高后,新的维护人员可以更快地理解代码,使维护成本降低。

改善工作流程

// × 不好:当新增枚举时,需要在 Tue 之后增加逗号,svn 的提交记录会受到影响。
enum Day
{
    Sun,
    Mon,
    Tue
};

假设 Tue 由 A 提交,之后 B 需要为其新增一个 Wed 枚举:

enum Day
{
    Sun,
    Mon,
    Tue, // B 需要在此新增一个逗号,该行的提交者会变为 B。
    Wed,
};

正确的做法:

enum Day
{
    Sun,
    Mon,
    Tue, // 即使是结尾的枚举值也需要加上逗号。
};

促进团队协作

当遵守代码规范时,文件名、类名、方法名甚至变量名都是可预测的。如果所有的数据管理类都以 Controller 结尾,当一名程序员需要找到 PlayerData 对应的管理类时,他可以直接打出 PlayerController,而不用去查文档或者询问 PlayerData 的开发人员。

由此可见,当遵守代码规范时,团队之间会形成一种无声的默契。

提升自身成长

规范的代码可以有效提升程序员的代码组织能力,写代码时条理会更清晰、逻辑思维也会更强。

遵守代码规范的坏处

大部分东西都有两面性,代码规范也不例外。在遵守代码规范时也有一些坏处或者说难处:

  • 对团队来说:代码规范需要所有人都遵守规则,可能难以在团队中推行。
  • 对个人来说:个人的代码习惯较难改变。在遵守团队规范时,个人的风格得不到表现。

代码规范与性能取舍

部分程序员可能会担心一些规范对代码的性能有影响,如 ++ii++ 的性能更好。但这种担心在绝大部分情况下都是多余的,代码规范并不会对性能有多大影响,或者说造成性能瓶颈。代码规范与更好的性能,两者通常并不会冲突。

少数情况下,确实对性能有影响的,也可以不遵守代码规范,但这种情况下需要补充更完善的注释以及为何这样去写的说明。

标签:可读性,代码,规范,必要性,遵守,团队,Tue
From: https://www.cnblogs.com/comradexiao/p/18467036

相关文章

  • Git提交内容规范
    Git提交内容规范前缀解释示例feat新功能feat:新增租⻋控制fix修复fix:新增租⻋控制docs⽂档变更docs:租⻋控制style代码格式style:⼩程序⾸⻚央视refactor重构refactor:租⻋控制perf性能优化perf:数据导出test增加测试test:增......
  • JavaScript 代码能够成功进行树摇(Tree Shaking),代码规范
    要确保JavaScript代码能够成功进行树摇(TreeShaking),你可以遵循以下几个实践:1.使用ES6模块树摇主要依赖于ES6的模块语法(import和export)。确保你的代码使用这种模块系统,而不是CommonJS的require和module.exports。//正确的ES6模块语法exportconstfoo=()......
  • 老板:你来弄个团队代码提交规范
    大家好,我是陈哥,今天聊聊禅道的代码提交规范~背景在《还不知道这个原则的程序员,要小心了》 的文章中,我提到了禅道的代码提交规范。简单来说,我们将工具融入到禅道团队的日常代码提交过程中,利用工具对流程、行为进行规范和约束。接下来,我将从编码规范、测试规范等方面,和大家简单......
  • MIPI/LVDS/PCIE/HDMI 设计规范
          参考链接:1、MIPI/LVDS/PCIE/HDMI2、接口简介(HDMI、eDP/DP、LVDS、VGA、YPbPr、DVI、MHL、MIPI-DSI、VbyOneHS)3、干货|带你了解MIPI,LVDS,RGB,HDMI视频高速接口......
  • RESTful 接口设计规范 笔记
    协议:API与用户的通信协议,http,https协议域名:eg:http://example.com版本:如果接口有版本的迭代的话,可以在域名后面拼接版本标识,eg:http://example.com/v1路径又称终点endpoint,表示api的具体网址在restful架构中,每个网址代表一种资源,所以网址中不能有动词,只使用名词且往往......
  • Markdown 书写规范
    Markdown书写规范  本文有助于您规范使用Markdown语法规则,使您的文档更容易理解。虽然不是必需的,但很快您就会发现,这些规则很好的兼容了各种Markdown编辑器,能够准确地为您呈现文档内容。标题整篇文档只能有一个顶级标题,并且要放在文档首行;标题符号要从行首开始,位于......
  • CSS规范写法
    CSS规范手册一 CSS书写顺序1.1 **{/*显示属性*/displaypositionfloatclearcursor… /*盒模型*/marginpaddingwidthheight/*排版*/vertical-alignwhite-spacetext-decorationtext-align… /*文字*/colorfontcontent/*边框背景。为什么要......
  • 医疗器械行业搭建知识付费小程序平台的必要性探究
    在当今数字化时代,医疗器械行业面临着诸多挑战与机遇。搭建知识付费小程序平台已成为行业发展的一个重要趋势,其必要性主要体现在以下几个方面。一、满足专业知识需求医疗器械行业具有高度的专业性和技术性。从产品的研发、生产到销售、使用以及售后服务,都涉及大量复杂的知识......
  • Git 提交规范
    Git提交规范​ Git提交消息应遵循一定的规范,以便于理解和维护。一种常用的规范是Angular规范,它要求提交消息包含三个部分:标题、主题和尾部。<type>(<scope>):<subject><BLANKLINE><body><BLANKLINE><footer>type:提交类型,比如:feat(新功能)、fix(修复)、docs(文档变......
  • 每日学学Java开发规范,集合处理(附阿里巴巴Java开发手册(终极版))
    前言每次去不同的公司,码不同的代码,适应不同的规范,经常被老大教育规范问题,我都有点走火入魔的感觉,还是要去看看阿里巴巴Java开发规范,从中熟悉一下,纠正自己,码出高效,码出质量。想细看的可以去官网下载,或者下面自取阿里巴巴Java开发手册(终极版)五、集合处理【强制】关于ha......