代码规范的意义 为什么要规范代码 大厂程序员告诉你_代码规范目的-程序员宅基地

技术标签: 代码覆盖率  代码规范  源代码管理  

导语

有不少写代码总是只按喜欢按自己的习惯写,但是如果这个产品永远是你自己一个人来写和维护,那么问题不大,那么如果是有很多人协作,那么麻烦就大了,我相信有很多人说了很多代码规范的重要性,我今天在这里只提两点意义。

可读性

代码规范最大的目的就是保持可读性。

 

Martin Fowler 说:

Any fool can write code that a computer can understand. 随便找个笨蛋都能写出电脑可以明白的代码

Good programmers write code that humans can understand. 好的程序员写的代码是让人能看明白的

 

其实,明白了可读性重要后,是有一些方法来提高可读性的。

 

1.自己每写完一段代码,至少读三遍,看看是否能够明白,知道为什么要这么写和自己是怎么写的。

2.代码写完了,可以让别人看你的代码,就看那一个方法,不要太多上下文,如果别人能够明白,就是很不错的。如果不明白,可能是命名不对,或者if,else太多大家被绕进去了。

3.好的代码光看类名就知道类是做什么的,光看方法名就知道这一个方法解决哪一个具体问题(单一职责)

4.写单元测试,如果代码测试覆盖率好,可读性也更好,前提是单元测试要写好。

5.可读性好的代码,任何人也都可以帮忙写单元测试。

可维护性

代码规范的另一个主要目的就是可维护性。

 

可维护性就是:how easily a system can be modified

 

这个可维护性一定还是基于代码的可读性上,在可维护性方面有几个实践记得参考。

 

1.写代码的时候一定要觉得我做的产品将来我会维护,当然肯定不全是,但是做的时候要这么思考。

 

2.保持一个廉耻心,心里想着如果代码不是我维护,将来千万不要改代码的时候让别人问候我的家人。

 

3.使用大家熟悉的技术或者通用的技术。

 

4.使用大家常用的一些结构比如MVC, MVVM等等。

 

5.使用一些好的实践比如单元测试 (修改代码的时候就不怕破坏隐藏的功能)

 

6.留下必要的文档。

 

7.项目相关的东西集中在一起。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43044226/article/details/125567963

智能推荐

zookeeper 链接报错 KeeperErrorCode = NodeExists for_keepererrorcode = nodeexists for /test057-程序员宅基地

文章浏览阅读3.9k次。zookeeper 链接报错 KeeperErrorCode = NodeExists for zookeeper链接报错要将原来的删除掉dataDir路径下的version-2文件夹,再重启本机在C:\JavaEnv\ws-2181_keepererrorcode = nodeexists for /test057

Verilog-实现脉冲边缘检测电路_verilog脉冲检测-程序员宅基地

文章浏览阅读892次,点赞2次,收藏8次。本篇博客主要记录使用Verilog实现对脉冲的上升沿和下降沿检测;下面的链接是博主所写的“基于basys2的按键消抖”,其中状态机实现按键消抖使用了本篇博客所介绍的边缘检测电路。_verilog脉冲检测

前后端分离web项目_semidesign vue-程序员宅基地

文章浏览阅读2.5k次,点赞2次,收藏5次。过程1.构建前端使用到的工具:套件工具-用来安装依赖yarnnpm前端构建工具:webpackvitenuxt.js前端框架VUEreact前端语言typescriptjavascript前端渲染框架semidesign-不支持vueElement ui步骤:1.安装yarn,使用yarn构建web项目的前端部分。在使用yarn时可能会碰到一个问题:无法加载文件 C:\Users\28011\AppData\Roaming\npm\_semidesign vue

iOS 证书管理、验证、打包流程_怎么查看ipa用哪个证书打包的-程序员宅基地

文章浏览阅读1.1k次。背景iOS软件的开发和发布离不开证书和配置文件,如果要想发布app到Apple Store或者使用苹果的推送通知功能,都需要个人开发者证书签名该app,以便通过苹果的认证和审核。由于我们公司的app不是单独一个,而是一个客户对应一个app,在新版本中,需要用到推送通知功能,就需要发布app到Apple Store,通过认证后才能正常使用苹果提供的这个服务,同时,为了满足部分客户要把自己的app发布..._怎么查看ipa用哪个证书打包的

Mac 储存空间“其他”占据这么多?一招带你搞定_其他用户与共享 mac 数据删除-程序员宅基地

文章浏览阅读3.5k次。手动清除这些“其他”文件的方法比较适合专业的、熟悉Mac规则的用户。对于普通Mac用户,如果怕误删系统文件,还是将清理“其他”文件的任务交给专业的第三方清理工具吧,例如CleanMyMac X。2、在“访达”中选中用户名,右侧空白处,右键“查看显示选项”-勾选“显示‘资源库’文件夹”1、打开“访达”-“偏好设置”-“边栏”中,勾选“个人用户名”;1、点击左上角  -“关于本机”-“储存空间”-“管理”;2、点击“文稿”-“文件浏览器”-“资源库”;1)安装应用程序,点击侧边栏中的“系统垃圾”。..._其他用户与共享 mac 数据删除

区块链赋能供应链金融风险管控探析_区块链对风险防控的作用-程序员宅基地

文章浏览阅读717次。本文转自:人民银行本溪市中心支行供应链金融是一种从产业链中来到产业链中去,不断夯实和优化产业链的生态金融,为有效破解中小微企业融资难开辟了一条新途径。但实践中,供应链金融风险管理一直面临难以突破的瓶颈,供应链金融风险无法准确评估和度量,履约风险无法有效控制,而且信息不对称大幅拉升风险管理成本,严重拖累了供应链金融的持续稳健发展,业务辐射范围受限。而区块链作为构建数字信任机制的全新模式,具有分布式记账、可追溯、不可篡改等技术特性,恰好直击供应链金融风控的痛点,为助推供应链金融稳健发展提供了切实可行的解._区块链对风险防控的作用

随便推点

头歌educoder-Python程序设计-第五阶段 类与对象-类的其它特性_头歌类的其它特性-程序员宅基地

文章浏览阅读5.8k次,点赞13次,收藏42次。关卡一:类的内建函数import specialmethodtestsc = specialmethodtest.subClass()# 请在下面填入判断subClass是否为parentClass的子类的代码,并输出结果########## Begin ##########print(issubclass(specialmethodtest.subClass, specialmethodtest.parentClass))########## End ########### ..._头歌类的其它特性

初中学历学前端难不难_计算机前端初中学难不难-程序员宅基地

文章浏览阅读609次。初中学历学前端难不难那肯定难啊。如果年纪不大,而且对IT这方面又比较感兴趣,我建议先去想办法提升一下自己的学历,成人本科也是可以的,该说不说,这东西花点钱还是可以弄到的,毕竟现在IT行业还是很看重学历的,学历是工作的第一块敲门砖,可能有人会说能力更重要,但是我告你你没有学历,别人根本不会去了解你是否有能力。当然花钱买的那个学历也不是处处管用,像大一点的公司需要的学历是需要学信网认证的,但你搞个学历,很多你之前初中文凭进不去的公司可能就会考虑你。如果真的考虑好了的话我建议去报个短期的培训班,毕竟是初中文凭_计算机前端初中学难不难

ThreadX学习(2)——线程_threadx教程-程序员宅基地

文章浏览阅读3.9k次,点赞26次,收藏48次。ThreadX学习(2)——线程学习参考:ThreadX中的线程线程创建堆栈分配互斥锁线程优先级优先级反转优先级继承抢占阈值线程状态数据结构TCB就绪列表API学习参考:《Real-Time Embedded Multithreading: Using ThreadX and ARM》安富莱_STM32-V7开发板ThreadX内核教程(V0.7)ThreadX中的线程在ThreadX中,一般没有进程的概念,统称为线程。关于调度器的实现细节,ThreadX可能是用汇编写的,没看懂。T_threadx教程

苹果手机sim卡无效怎么办_苹果手机存储空间不足怎么办-程序员宅基地

文章浏览阅读127次。  虽然现在的手机存储空越来越大,不过,娱乐的文件已经各种软件的体积也越来越大,而不像其他安卓手机可以通过内存卡对存储空间进行扩充,苹果手机存储空间不足怎么办,下面就为大家介绍一下解决方法。苹果手机存储空间不足怎么办  步骤1:当手机存储空间不足时,我们先得要查清楚,究竟是什么占用了大量的手机存储空间。打开苹果主屏上的“设置”应用。  步骤2:在设置列表中找到“通用”项,点击进入,接下来在通用中找..._萍果7手机sm1卡失效怎么办

中国大学生计算机设计大赛省级赛事管理系统_计算机设计大赛管理信息系统类-程序员宅基地

文章浏览阅读1.1k次,点赞18次,收藏21次。根据提示输入参赛队编号,若查找成功,输出该赛事类别对应的基本信息(参赛作品名称、参赛学校、赛事类别、参赛者和指导老师信息),同时,输出查找成功时的平均查找长度ASL;能够管理各参赛队的基本信息(包含参赛队编号,参赛作品名称,参赛学校,赛事类别,参赛者,指导老师),赛事类别共11项(参见大赛官网。1、请根据任务描述的问题,设计合理的菜单,菜单交互设计要合理,便于用户根据提示使用系统的所有功能。来定义参赛队编号,参赛作品名称,参赛学校,赛事类别,参赛者,指导老师等基本信息。包括增加、删除、修改参赛队伍的信息。_计算机设计大赛管理信息系统类

2024软件测试学习线路图~-程序员宅基地

文章浏览阅读879次,点赞17次,收藏17次。一个好的心态和一个坚持的心很重要,很多冲着高薪的人想学习前端,但是能学到最后的没有几个,遇到困难就放弃了,这种人到处都是,就是因为有的东西难,所以他的回报才很大,我们评判一个前端开发者是什么水平,就是他解决问题的能力有多强。分享一些简单的前端面试题以及学习路线给大家,狂戳这里即可获取一个好的心态和一个坚持的心很重要,很多冲着高薪的人想学习前端,但是能学到最后的没有几个,遇到困难就放弃了,这种人到处都是,就是因为有的东西难,所以他的回报才很大,我们评判一个前端开发者是什么水平,就是他解决问题的能力有多强。

推荐文章

热门文章

相关标签