首页 > 其他分享 >一篇关于代码质量的实用攻略!

一篇关于代码质量的实用攻略!

时间:2023-06-08 18:01:10浏览次数:37  
标签:问题 逻辑 一篇 代码 实用 开发 质量 攻略 命名

一、代码质量差的根本原因 1、代码不佳的表现 有很多表现会让代码质量大打折扣,比如取名无意义、方法和类过于庞大、代码重复、晦涩难懂、修改麻烦等等。其中影响最严重的两点是命名不准确和低扩展性的逻辑结构。对于新手来说,方法的名字与实际逻辑不符会引起困惑,这种情况在日常工作中非常常见;而当出现新的业务需求时,由于逻辑扩展性差,要对多个地方进行修改,修复的业务逻辑过于繁琐,会大大降低开发效率。 2问题归纳 针对第一节所提到的现象,可以对其进行问题的归纳整理,大致可以分为六类,。 命名问题:起名字是一件十分头疼的事情,要取一个既贴切又易于理解的名字并不容易。无论是对变量、方法或类进行命名,常见的命名问题有两种:其一是含义不明确,令人难以理解;其二是和本意不符,误导他人。命名含义不明确是指命名方式抽象度过高,初看之下无法明确其含义;而命名和本意不符则是指命名方式和事物本身实际所表达的意思不符。 代码结构问题:当初看工程代码时,若还没有深入了解代码逻辑,就可以从模块划分、类结构分析、方法划分等整体层次感受代码质量。如果一个类的代码有几千行,或者一个方法的代码有几百行,这样的代码复杂程度相信没有多少人愿意去阅读。通过优秀的代码层次结构可以使代码更加清晰有序,就像读一本美好的书一样,令人视觉愉悦。 编程范式问题:目前有三种编程范式,分别是表模式、事务脚本模式和领域设计模式。在这其中,事务脚本模式是被广泛使用的,因为这种模式最符合人类处理问题的方法——一步一步地进行。然而,这种模式最大的问题在于它承担了本不应该由自己承担的职责,尽管看上去比较符合逻辑,但实际上存在诸多问题,通常人们称之为"面条式代码"。 可读性问题:在编写代码时,除了要实现业务功能外,还需考虑代码的可读性。有些代码缺乏注释,有些代码格式不规范,还有一些使用过多的Lambda表达式,这些都会降低代码的可读性。虽然Lambda表达式可以让代码显得简洁,但在使用时需要注意控制层次深度,以免影响代码的可读性。 扩展性问题:要实现良好的可扩展性并不容易,通常是由于缺少抽象化思维而导致的。例如,对于店铺在店招头展示Tab的情况,一般的代码实现方式是直接定义一个List,然后添加Tab对象。但是遇到需要再添加一个Tab的情况时,就会出现典型的开闭原则不满足的问题。 无设计问题:整体代码呈现单调乏味的样子,没有什么值得别人借鉴的地方。这通常是因为没有深入分析问题,只是解决了眼前的问题,而没有考虑如何更优地解决它。例如,是否可以抽象出一个通用的模板类来避免处理流程的重复工作?是否可以使用工厂类来动态获取具体策略?是否可以使用事件模式来实现异步处理?是否可以通过自动注册来发现新增的功能?等等。 3原因分析 下面分析一下代码不同的原因,其原因有内在的和外在的两方面。 外在的原因主要包括:项目时间紧张,没有足够的时间进行设计;资源短缺,只能尽力而为;需要修复紧急问题,只能采用一些临时的解决方案。 内在的原因主要包括:技能不足,例如Lambda表达式、常用工具类、高级框架使用等方面的技能没有掌握;过于重视完成需求本身,而未考虑程序的稳定性、可扩展性、性能和数据一致性等问题。 其中最关键的是公司内部存在的问题,根源主要有两点:自我要求不高和无反馈通道。如果对自己的要求不高,只满足于完成所需开发,那很难写出高质量的代码。此外,如果没有外部反馈,也很难提高技能水平。 二、提高代码质量的方法 如何提高代码质量,除了业内普遍讨论的从领域建模、设计原则和设计模式等方面优化外,在技术高速发展的今天,无论是企业还是开发从业人员,都应该善用工具以达到事半功倍的效果。 飞算推出的SoFlu软件机器人改变了原来手工编码的作业模式,通过可视化拖拽方式以及参数配置就能实现等同于编写复杂代码的业务逻辑,在设计业务逻辑时就完成了微服务应用开发,做到“业务即图,图即代码”,实现“软件开发,十倍提效”。

在代码质量上,SoFlu软件机器人中所有封装组件均需经含超3000条检验规则的代码质量检测工具检查。同时,JAR包均为经漏洞扫描的保证稳定安全。开发项目导出的源代码,亦能通过代码规范和漏洞扫描。此外,内置一系列基于AI的开发、测试、产品质量分析和安全审核的功能,可在整个应用程序开发生命周期提供“专家级”帮助。针对整个应用开发过程也有细粒度的权限管理,通过项目资产安全管理机制严格管控项目资产的安全并保证信息安全。同时还有审计日志、管理报表等功能。 SoFlu软件机器人将安全性、容错、并发等能力和规范集成于工具,用户开发时只需关注业务,借助该产品矩阵即可轻松优化产品架构、性能,并自动识别具有安全漏洞的代码,极大提升开发效率、节省时间和保障质量与安全。

SoFlu软件机器人现已开放免费试用,点击链接可以直接申请。 申请链接:http://feisuanyz.mikecrm.com/9dW4GeZ

标签:问题,逻辑,一篇,代码,实用,开发,质量,攻略,命名
From: https://blog.51cto.com/u_15327851/6442070

相关文章

  • 武汉星起航:亚马逊会员日选品攻略助您实现跨境销售爆单!
    亚马逊作为全球最大的电商平台,拥有着庞大的用户流量和消费群体。而随着全球电商市场的日益竞争,亚马逊在不断推出各种促销活动来吸引消费者。其中,亚马逊会员日就是一项非常受欢迎的促销活动,也是卖家们增加产品订单的绝佳机会。要在亚马逊会员日取得更好的销售业绩,选品是非常重要的一......
  • VUE路由传参的实用方式
    本文讲解了VUE项目中路由之间的传值方式,涉及到的方法都是开发时常用的,希望对大家有多帮助。1.方式一:使用router-link标签 1.1params传参首先定义好路由constroutes=[{path:‘/home’,component:()=>import(‘/../views/home.vue’)},{path:......
  • 武汉星起航:亚马逊墨西哥站点热销节活动全攻略分享
    亚马逊作为全球领先的电商平台,不仅在全球范围内运营着多个站点,也在各个国家和地区推出了热销节活动,以吸引消费者并促进销售增长。以下是武汉星起航整理的针对亚马逊墨西哥站点的热销节营销攻略:把握热销节时间:了解亚马逊墨西哥站点的热销节日期和时间,如独立日、圣诞节、黑色星期五等......
  • 超实用!常用开源许可证有啥区别。
    导读电脑中的软件都有License,开源软件也不例外。不过开源软件的开源许可证那么多种,又都有什么区别呢?让我们上网搜搜看。定义下面是摘录百度百科的定义:license是版权许可证。相当于软件版权。软件版权属于知识产权的著作权范畴,具有知识产权的特征,即时间性,专有性和地域性......
  • Mysql第一篇之基础
    1.数据库相关概念何为数据库:存储和管理数据的仓库,数据是有组织的进行存储。数据库英文名是DataBase,简称DB。数据库就是将数据存储在硬盘上,可以达到持久化存储的效果。那又是如何解决上述问题的?使用数据库管理系统。何为数据库管理系统:管理数据库的大型软件英文:Data......
  • 英短银点猫咪攻略
    一,疫苗问题,清洁问题,常用药疫苗:猫咪三联,一针一百,可打狂犬,共四针。猫咪三联:妙三多   第一针:8周 第二针:12月 第三针:13周 第四针:狂犬绝育:8月清洁:梳毛:梳毛刷                    排毛:猫草修剪指甲:猫用指甲剪泪痕:生理盐水......
  • hdfs中acl权限管理的简单实用
    1、背景在我们开发的过程中有这么一种场景,/projectA目录是hadoopdeploy用户创建的,他对这个目录有wrx权限,同时这个目录属于supergroup,在这个组中的用户也具有这个目录的wrx权限,对于其他人,不可访问这个目录。现在有这么一个特殊的用户root,我想root用户可以访问这个目录,在不修改......
  • 16个好用到爆的Python实用技巧!
    介绍人生苦短,快学Python!Python是一门用途广泛的编程语言,它具有大量的库和框架。有一些鲜为人知的Python编码技巧和库可以让你作为开发人员的工作更为轻松,编写代码更高效。本文将探讨一些鲜为人知的Python技巧,这些技巧非常有用,但并不广为人知。通过学习和使用这些技巧,可以......
  • 一篇文章带你详细了解axios的封装
    axios封装对请求的封装在实际项目中是十分必要的,它可以让我们统一处理http请求。比如做一些拦截,处理一些错误等。本篇文章将详细介绍如何封装axios请求,具体实现的功能如下基本配置配置默认请求地址,超时等请求拦截拦截request请求,处理一些发送请求之前做的处......
  • jquery实用广告画廊效果插件-PikaChoose
    PikaChoose是一个超轻量级的图片画廊jQuery插件,它是可以轻而易举地使用在您的网站。有许多的网站使用了他,在他的主页上可以看到这些网站。效果图如: 官网地址:http://www.pikachoose.com/github地址:https://github.com/jeremyfry/PikaChoose ......