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

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

3天内不再提示

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

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

扫码添加小助手

加入工程师交流群

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

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

经验1:提前设计

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

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

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

经验2:类与函数准则

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

· 使类与函数尽可能地小

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

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

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

经验3:使用设计模式

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

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

经验4:代码规范

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

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

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

经验5:编写单元测试

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

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

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

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

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

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

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

    关注

    90

    文章

    3707

    浏览量

    96758
  • 源代码
    +关注

    关注

    96

    文章

    2953

    浏览量

    69647
  • 结构化
    +关注

    关注

    0

    文章

    27

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

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

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

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

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

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

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

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

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

    从零到一:如何利用非结构化数据中台快速部署AI解决方案

    在企业数字转型的浪潮中,AI已从概念走向落地应用。然而,真正能高效、安全地部署AI解决方案的企业仍属少数,瓶颈往往出在“数据”——尤其是非结构化数据的管理与应用上。文件、音频、视频、图像、邮件
    的头像 发表于 04-14 13:50 598次阅读

    连接器气密检测的重要性

    。连接器气密检测的重要性•恶劣环境电气连接保障:潮湿、粉尘、腐蚀性气体、温度剧变等恶劣环境,气密不良将导致触点腐蚀、绝缘下降、信号中断等故障,威胁设备安全运行
    的头像 发表于 03-17 11:01 599次阅读
    连接器气密<b class='flag-5'>性</b>检测的<b class='flag-5'>重要性</b>

    PCB拼板设计全解析:重要性、优势与应用实践

    一站式PCBA智造厂家今天为大家讲讲PCB拼板设计的重要性表现哪些方面?PCB拼板设计的基本概念及其重要性。在电子制造行业,SMT贴片工艺中,PCB拼板设计是一项极为关键的步骤。通过优化PCB拼板
    的头像 发表于 03-13 09:35 1072次阅读
    PCB拼板设计全解析:<b class='flag-5'>重要性</b>、优势与应用实践

    结构化数据中台:企业AI应用安全落地的核心引擎

    在数字转型浪潮中,非结构化数据(如文档、图片、音视频等)已成为企业核心资产,其价值挖掘能力直接影响AI应用的效能与安全。然而,数据分散、多模态处理复杂、安全合规风险高等问题,严重制约了企业AI
    的头像 发表于 02-27 17:06 838次阅读

    芯片制造中薄膜厚度量测的重要性

    本文论述了芯片制造中薄膜厚度量测的重要性,介绍了量测纳米级薄膜的原理,并介绍了如何在制造过程中融入薄膜量测技术。
    的头像 发表于 02-26 17:30 2401次阅读
    芯片制造中薄膜厚度量测的<b class='flag-5'>重要性</b>

    智慧园区安全调度的重要性

    规模的扩大和复杂的增加,安全问题也日益凸显。因此,智慧园区的安全调度显得尤为重要。 智慧园区安全调度的定义 智慧园区安全调度 是指通过先进的技术手段和管理方法,对园区内的各类安全风险进行实时监控、预警和应急处
    的头像 发表于 02-19 16:52 622次阅读

    构建综合指挥调度系统的重要性

    构建综合指挥调度系统的重要性不言而喻,它对于提升应急响应速度、优化资源配置、加强跨部门协作、提高决策效率和确保公共安全等方面都具有至关重要的作用。以下是古河云科技构建综合指挥调度系统重要性的几个关键方面:
    的头像 发表于 02-06 16:56 880次阅读

    PCB板元器件点胶加固的重要性

    PCB板元器件点胶加固的重要性PCB板元器件点胶加固在电子制造过程中起到了至关重要的作用,其重要性主要体现在以下几个方面:一、提高机械强度点胶加固可以显著降低电子元件的翘曲和变形现象,从而提高整个
    的头像 发表于 12-20 10:18 2411次阅读
    PCB板元器件点胶加固的<b class='flag-5'>重要性</b>

    电子连接器在自动设备中的重要性

    电子连接器在自动设备中扮演着至关重要的角色,其重要性主要体现在以下几个方面: 一、确保数据传输的稳定性和准确 在自动设备中,大量的数据
    的头像 发表于 12-20 09:51 960次阅读