0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详谈代码结构化的重要性和经验方法

如意 来源:读芯术 作者:读芯术 2020-07-05 10:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作为代码工作中至关重要的一环,代码结构化是颇具难度的。要想写出结构良好的代码,编写者需要具有正确的思维方式,对设计模式有自己的理解,还得拥有丰富经验。通常情况下,要想培养上述能力,你要走的路可不少。

代码结构化的重要性不应被低估,从可读性和可维护性的角度来看,代码结构非常重要。

经验1:提前设计

在着手编写代码之前,你最好考虑一下对将要构建的应用程序进行提前设计,统一建模图表(UML diagrams)就是个不错的选择。在编写代码之前,如果提前有计划在手,编写者可以更加专注。通过提前思考代码的结构,创建一些有用的UML图表,许多明显缺陷都可以提前避免。

更重要的是,制定计划能让我们认识到,在编写代码前还有许多需要编写者思考的事情。UML图还可以防止代码编写者“思想游离”,并且防止编写者在代码里添加自认为将来会派上用场的非必要功能。

不做计划就急着开始,在最初你能跑得快一点儿,但跳过这个步骤最终会使你不得不对大量代码进行重构,进而消耗大量时间和动力。记住,欲速则不达。

经验2:类与函数准则

以下准则可以帮助你保持类与函数的可读性及可维护性:

· 使类与函数尽可能地小

· 类与函数应遵循单一职责原则

保证类与函数尽可能小可以使代码更容易理解。一般来说,较大的类和函数应被分解为较小的专门化类别。

遵循单一责任原则可以帮助你保持类和函数在较小的级别,即每个类、每个函数只做一件事。但注意,要在合理范围内划分得“小”,因为多数情况下,过多的细小分类反而要比几个大类糟糕得多。把函数分成“获取、处理及存储数据”这样的大型函数是行不通的。你必须将此函数分成三个较小的函数:分别用于提取、处理和数据存储。

经验3:使用设计模式

了解设计模式及其工作方式可以帮助你编写出更加结构化、更具可读性与可维护性的代码。如果你清楚在哪些情况下可以使用哪种设计模式,就不必非得自己想解决办法了,你只需遵循设计原则就可以保持代码的整洁。

不过要注意,不要过度使用设计模式,这是使用这种方法时最常见的陷阱。尽管在特定情况下可以使用设计模式,但过度使用设计模式对编写者来说有弊无利,它会使应用过度机械化,其他开发人员会很难理解代码。

经验4:代码规范

代码结构化在很大程度上与代码规范有关。对于每个项目来说,代码规范都是必要,如果没有代码规范,代码变得团团乱以至难以阅读是迟早的事。

我们可以列出代码规范清单,记录下声明变量的方法、命名规范等。你可以无限向列表中添加规则,规则的数量也是可以变化的,只列出对你和对你的团队有帮助的规则便可。团队成员也可以随时向规范列表中添加或移除规则。

制定好规范清单后,就坚持照做吧!

经验5:编写单元测试

编写单元测试能产生不错的预期外的效果,它让你必须对代码进行结构化处理。为了能够编写出单元测试,至少要保证代码的结构是正确的。

也许你以前听说过或者编写过不可测试代码,如果有哪段代码让你不知道该如何编写单元测试的话,可能是因为这段代码功能过多,或者写得太差。

不管是上述两种情况的哪一种,只有一个原因会导致代码无法测试,那就是糟糕的结构。遇到不可测试的代码时,你会发现自己大部分时间都用在了重构上。单元测试便可以作为一种限制,使你必须将代码进行结构化处理。

实现代码结构化有好些方式。在你键入第一个代码字母之前就开始了,包括提前考虑应用程序的设计、创建帮助编写者消除明显缺陷的UML图等。

只要你准备编写代码,就应该确保拥有一份可以遵守的代码规范表。学习使用设计模式也可以进一步帮你实现这个目标。同时,你还需保持类与函数单位较小,并且让这些类与函数只做一件事。最后,要养成编写单元测试的习惯,不这样做最终只会得到一堆不可测试的代码。

要更认真地对待代码结构化了!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    90

    文章

    3725

    浏览量

    97527
  • 源代码
    +关注

    关注

    96

    文章

    2953

    浏览量

    70861
  • 结构化
    +关注

    关注

    0

    文章

    27

    浏览量

    10477
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    长城汽车主导起草的汽车越野性能试验方法国家标准获批立项

    近日,国家标准管理委员会正式下达 2026 年第三批推荐国家标准计划,由长城汽车主导起草的 《汽车越野性能试验方法》 国家标准成功获批立项,这标志着中国越野行业标准、规范
    的头像 发表于 04-13 11:31 543次阅读

    高光谱视觉检测中光源的重要性

    高光谱视觉检测中光源的重要性
    的头像 发表于 03-20 17:31 234次阅读
    高光谱视觉检测中光源的<b class='flag-5'>重要性</b>

    嵌入式软件单元测试必要与专业工具重要性的系统专业研究报告

    ****‌ ‌3.1 传统手工测试的致命缺陷 表格 问题 后果 无法生成结构化报告 不符合ISO 26262审计要求 无法实现100% MC/DC 认证失败,产品禁售 无法追溯需求→代码→测试 无法证明
    发表于 03-05 10:41

    锂离子电池高性能负极结构化复合集流体综述

    结构化集流体通过精心的表面与体相结构设计,为上述问题提供了系统解决方案。Flexfilm探针式台阶仪可以实现表面微观特征的精准表征与关键参数的定量测量,精确测
    的头像 发表于 02-04 18:03 2776次阅读
    锂离子电池高性能负极<b class='flag-5'>结构化</b>复合集流体综述

    UPS电源的未来发展与核心重要性深度解析

    与形态正在发生根本性重塑。本文将从行业视角,深入剖析UPS电源无可替代的重要性及其未来的发展趋势。第一部分:基石与命脉——UPS在当代社会的核心重要性再认识UPS
    的头像 发表于 01-04 09:27 2317次阅读
    UPS电源的未来发展与核心<b class='flag-5'>重要性</b>深度解析

    通讯数据求和取反加一校验方法

    现在有一组通讯协议,但是我对校验方法不熟悉导致通讯异常,想问问大神指点一下校验方法-如图所示我想给ID1的发送连接指令正确数据应该是怎样的
    发表于 12-23 14:29

    提升可靠,防水透气膜的多重功能的重要性

    提升可靠,防水透气膜的多重功能的重要性
    的头像 发表于 12-03 17:34 734次阅读
    提升可靠<b class='flag-5'>性</b>,防水透气膜的多重功能的<b class='flag-5'>重要性</b>

    结构化布线中使用电缆标签的4个主要优势

    带来诸多显著的优势。本文将深入探讨在结构化布线中使用电缆标签的4个主要优势,帮助读者更好地理解这一细节的重要性。 提高布线系统的可管理性 清晰标识电缆用途 在复杂的布线系统中,各种电缆交织在一起,如果没有明确的
    的头像 发表于 11-24 10:34 452次阅读

    园区智能照明系统的重要性

    技术和自动控制技术,对传统照明实现了彻底的范式革命。其重要性不仅体现在显著的节能效益上,更在于它为园区运营管理所带来的系统提升与战略价值。 一、 提升安全保障与视觉环境 1. 增强公共安全:系统可根据季节、天气
    的头像 发表于 09-19 14:01 547次阅读
    园区智能照明系统的<b class='flag-5'>重要性</b>

    论园区电气安全管理系统的重要性

    在企业集聚、规模发展的背景下,园区作为区域经济的重要载体,其内部结构日趋复杂,汇聚了大量的工业企业、商业设施、研发机构及配套设施。这种高密度、高负荷的运营模式,对能源供应,尤其是电
    的头像 发表于 09-17 11:39 550次阅读
    论园区电气安全管理系统的<b class='flag-5'>重要性</b>

    浅析多模态标注对大模型应用落地的重要性与标注实例

    ”的关键工序——多模态标注重要性日益凸显。 一、什么是多模态标注? 多模态标注是指对文本、图像、语音、视频、点云等异构数据进行跨模态语义关联的标注过程,通过建立数据间的时空一致和语义对齐,为大模型提供结构化的训练素
    的头像 发表于 09-05 13:49 2991次阅读

    三相全自动稳压器在工业自动领域的重要性与应用

    在工业自动领域中,电力的稳定性至关重要。我们都知道,电力就像一条河流,稳定的水流才能保证工业设备的平稳运行。而在这条河流中,三相全自动稳压器就像是一个水闸,控制着水流的强度和方向,确保每一个环节都能正常运作。下面就来详细的说说三相全自动稳压器在工业自动
    的头像 发表于 08-18 15:19 921次阅读
    三相全自动稳压器在工业自动<b class='flag-5'>化</b>领域的<b class='flag-5'>重要性</b>与应用

    120Ω的秘密:CAN总线终端电阻的重要性

    CAN总线作为一种广泛应用的工业通信协议,其终端电阻的作用不容忽视。本文将详细探讨CAN总线终端电阻的重要性及其在通信中的关键作用。CAN总线终端电阻的重要性CAN总线终端电阻顾名思义就是夹在总线
    的头像 发表于 08-08 11:35 1662次阅读
    120Ω的秘密:CAN总线终端电阻的<b class='flag-5'>重要性</b>

    智能体AI面临非结构化数据难题:IBM推出解决方案

    ,同时提供一个开放的混合数据基础架构和企业级的结构化和非结构化数据管理。 智能体AI面临非结构化数据难题:IBM推出解决方案 测试结果显示,与传统RAG相比,IBM watsonx.data的AI准确
    的头像 发表于 07-02 09:40 734次阅读

    PCBA加工必看!BOM表的重要性大揭秘

    一站式PCBA加工厂家今天为大家讲讲PCBA加工中BOM表的内容和格式有什么要求?BOM表在PCBA加工中的重要性。在PCBA加工中,BOM表(物料清单)扮演着至关重要的角色,是连接设计与制造的重要
    的头像 发表于 06-18 10:15 1494次阅读