首页 > 编程语言 >2024-2025-1 20241401 《计算机基础与程序设计》 第八周学习总结

2024-2025-1 20241401 《计算机基础与程序设计》 第八周学习总结

时间:2024-11-15 17:59:13浏览次数:1  
标签:20241401 函数 代码 2024 2025 风格 开发者 程序设计 返回值

班级链接 2024计算机基础与程序设计
作业要求 第八周作业
作业目标 ①功能设计与面向对象设计 ②面向对象设计过程 ③面向对象语言三要素 ④汇编、编译、解释、执行

教材学习内容总结

《计算机科学概论》第9章

  • 面向对象方法:
    介绍了面向对象(OOD)的基本概念,包括类和对象。对象是问题背景中相关的事物或实体,类是一组具有相似属性和行为的对象的描述。
    面向对象设计过程包括头脑风暴、过滤、场景和责任算法四个阶段
  • 翻译过程:
    编译器和解释器的作用:编译器将高级语言编写的程序翻译成机器码,解释器是在输入高级语言编写的程序时,指导计算机执行每个语句指定的动作
  • 程序设计语言范型:
    程序设计语言的不同范型,包括命令式范型和声明式范型,它们通过不同方式影响程序员对程序执行的看法
  • 高级程序设计语言:
    数据类型,包括整数、实数、字符、布尔型和字符串
    介绍如何将代码组织成函数、层级和对象
  • 面向对象编程:
    面向对象编程的概念,包括如何将函数打包成对象,以及对象可以包含其他对象、函数和变量
  • API(程序编程接口):
    API的作用是控制哪些函数和数据让外界访问,哪些仅供内部使用

《C语言程序设计》第7章

  • 分而治之与信息隐藏:
    模块化程序设计的基本思想是通过将复杂问题分解成更小、更易于管理的部分来简化程序设计和提高代码的可维护性
  • 函数的定义:
    包括函数的分类和定义方法,是模块化程序设计的基础
  • 向函数传递值和从函数返回值:
    函数调用、函数原型、函数封装与防御性程序设计以及函数设计的基本原则
  • 函数的递归调用和递归函数:
    递归的概念及其在程序设计中的应用
  • 变量的作用域和生存期:
    讲解其概念,与程序的内存管理和模块间的数据交互有关
  • 模块化程序设计:
    模块分解的基本原则:自顶向下、逐步求精,展示模块化程序设计与多文件编程的实例,还包括条件编译的内容
  • 代码风格:
    强调其重要性,并讲解如何编写清晰、可读的代码

教材学习中的问题与解决过程

问题1:如何判断函数是否需要返回值?
AI:确定函数是否需要返回值是一个涉及程序设计决策的问题。以下是一些指导原则和考虑因素,可以帮助你决定一个函数是否需要返回值:

  1. 函数的目的:首先,考虑函数的主要目的是什么。如果函数的目的是计算一个值或者获取一个结果,那么它很可能需要一个返回值。
  2. 输出需求:如果函数需要向调用者提供某些信息,那么返回值是一种常见的方式。例如,一个计算两个数最大值的函数应该返回这两个数中较大的那个。
  3. 副作用:如果函数不通过返回值提供任何有用的信息,但是它执行了一些重要的操作(如修改全局变量或文件),那么它可能不需要返回值。然而,过度依赖副作用通常不是一个好的实践,因为它会降低代码的可读性和可维护性。
  4. 单一职责原则:根据单一职责原则,如果函数的主要职责是执行一个操作并且不产生额外的输出,那么它可能不需要返回值。例如,一个仅用于打印日志的函数可能不需要返回值。
  5. 函数的调用者:考虑函数的调用者需要什么。如果调用者需要使用函数的结果来做出决策或继续执行其他操作,那么函数应该返回值。
  6. 数据封装:如果函数操作的是私有数据或者需要保护的数据,返回值可以是一种安全的方式,避免直接暴露数据,而是提供对数据的有限访问。
  7. 性能考虑:在某些情况下,返回值可能会影响性能,特别是当处理大型数据结构时。在这种情况下,可能需要考虑是否通过引用或指针来传递数据,以避免不必要的数据复制。
  8. 语言和库的惯例:不同的编程语言和库可能有不同的惯例。了解和遵循这些惯例可以帮助你做出更符合常规的决策。
  9. 测试和维护:考虑函数的可测试性和可维护性。返回值可以帮助单元测试更容易编写,因为它们提供了一个明确的输出来验证。
  10. 代码清晰性:最后,考虑代码的清晰性和表达力。如果一个函数的返回值可以帮助其他开发者更好地理解函数的目的和行为,那么返回值是有益的。
    综合这些因素,你可以决定一个函数是否需要返回值。记住,良好的函数设计应该清晰地表达其意图,并且易于理解和维护。

问题2:代码风格的意义是什么?
AI:代码风格是指编写代码时遵循的一系列约定和最佳实践,它对于软件开发具有重要意义,主要体现在以下几个方面:

  1. 提高可读性:良好的代码风格使得代码更易于阅读和理解,这对于新成员快速融入项目、理解现有代码非常关键。
  2. 增强一致性:统一的代码风格有助于保持代码的一致性,减少因风格差异引起的混淆,使得整个项目看起来更加整洁。
  3. 便于维护:风格一致的代码更易于维护和更新,因为开发者可以更快地定位和修复问题。
  4. 促进协作:在团队项目中,统一的代码风格减少了团队成员之间的沟通成本,有助于提高团队协作效率。
  5. 减少错误:遵循良好的编码习惯可以减少因代码可读性差而产生的错误,比如拼写错误、逻辑错误等。
  6. 提高效率:良好的代码风格可以加快开发速度,因为开发者可以更快地编写出清晰、结构良好的代码。
  7. 改善代码质量:良好的代码风格往往与代码质量紧密相关,它鼓励开发者编写结构化和模块化的代码。
  8. 便于自动化工具的使用:一致的代码风格使得自动化工具(如代码格式化工具、静态代码分析工具)更有效地工作。
  9. 体现专业性:遵循行业标准的代码风格可以展示开发者的专业性和对细节的关注。
  10. 法律和合规性:在某些情况下,代码风格可能与法律或合规性要求相关,特别是在需要通过代码审查的行业中。
  11. 代码的可移植性:良好的代码风格使得代码更容易被其他项目或团队重用,提高了代码的可移植性。
  12. 教育和传承:良好的代码风格为新手开发者提供了学习模板,有助于传承编程知识和最佳实践。
    总之,代码风格不仅仅是代码外观的问题,它关系到代码的质量和项目的长期成功。因此,许多开发团队都会制定代码风格指南,并鼓励或要求团队成员遵循。

基于AI的学习


学习进度条

计划学习时间:25h
实际学习时间:25h

标签:20241401,函数,代码,2024,2025,风格,开发者,程序设计,返回值
From: https://www.cnblogs.com/Xseventeen/p/18534814

相关文章

  • 列表数据隔离--采购申请单只能看当前用户的单据信息 过滤,PrepareFilterParameter 2
    region<<版本注释>>/*===================================================类名称:PUR_Requisition_listFilter类描述:列表数据隔离--采购申请单只能看当前用户的单据信息过滤,PrepareFilterParameter创建人:luohong创建时间:2024/11/1516:18:04电子邮箱:it_lu......
  • 2024.11.15 NOIP 模拟 - 模拟赛记录
    返乡(home)不给大样例是怕我找规律出答案吗?但是我还是找到规律了。题解说是结论题,但是这个结论即使观察小样例也很好猜(如果我是出题人就把样例打乱一下顺序)。首先考虑只有二维偏序时的最优放置方法:首先第一个数是不能重复的,因为一旦重复,第二个数无论怎么选,都会构成偏序;第二个......
  • CSP-S(提高级)2024年T1 决斗
    [CSP-S2024]决斗题目描述今天是小Q的生日,他得到了nnn张卡牌作为礼物。这些卡牌属于火爆的“决斗怪兽”,其中,第i......
  • 学习日记-2024.11.12
    想使用xarm搭建一个通过视觉(yolo)进行抓取的系统.(仅供参考,自己复盘用,初学者)1,先使用xarm_ros(github)搭建自己想要的环境.准备使用xarm_gazebo中的xarm6_beside_table.launch文件(但是world选择xarm_camera_scene.aorld).我希望在xarm末端处有一个D435i摄像机.同时,在桌......
  • 学期2024-2025 20241308 《计算机基础与程序设计》第八周学习总结
    作业信息这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标 <写上具体方面>功能设计与面向对象设计,面向对象设计过程,面向对象语言三要素,汇编、编译、解释......
  • NOIP2024模拟赛#21 总结
    坐牢3h+。赛时开T1,发现好唐啊,10min切了。过了全部大样例。开T2,现在是8:10。?现在是8:27,我怎么把T2大样例全过了。是不是太水了。我只是胡了一个贪心啊。开T3,现在是8:30。草,T1加样例了,做法假了。先不管T1了,先去看T3。感觉保证每次操作后都会满足对于\(i......
  • 2024-2025-1 20241322《计算机基础与程序设计》第八周学习总结
    2024-2025-120241322《计算机基础与程序设计》第八周学习总结作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08这个作业的目标功能设计与面向对象......
  • [2024.11.15]NOIP 模拟赛
    赛后的思路永远比赛时清晰。赛时T1玩了一会发现\(a_3\sima_7\)一定是相邻的,所以只需要考虑两个数字即可。答案显然有单调性,所以考虑先二分\(a_2\),再二分\(a_1\)。两个二分的思路都很简单,第二个二分用lower_bound即可。第一个的话其实就是模拟lower_bound内置,赛时调......
  • 2024四川省大学生网络安全技能大赛--crypto
    1、easyrsa题目n=23792583705374189545679156857755903878016250540127710246753745617274304389583344704113138589733408235780341088002610330172981310203101669419279485446903080470828101625401545395900167347886555843342450664942132024224786444135999300216368287......
  • 2024 年 Java 面试最全攻略:程序员求职跳槽必刷题目 1000+,横扫一切技术盲点!
    写在前面马上又要到收割Offer的季节,你准备好了吗?曾经的我,横扫各个大厂的Offer。还是那句话:进大厂临时抱佛脚是肯定不行的,一定要注重平时的总结和积累,多思考,多积累,多总结,多复盘,将工作经历真正转化为自己的工作经验。面经分享今天给大家分享一个面试大厂的完整面经,小伙......