首页 > 其他分享 >读《大道至简:软件工程实践者的思想》有感

读《大道至简:软件工程实践者的思想》有感

时间:2024-08-11 11:48:56浏览次数:7  
标签:编程 大道至简 模型 实践者 算法 软件工程

《大道至简:软件工程实践者的思想》是一本由软件工程师周爱民创作的一部有关软件工程行业的巨著,其中的许多内容看似需要许多专业知识才能读懂,但其中心思想对于我这个初学者也有很深的影响和启发。
书中提到,程序的构成是算法、结构和方法的结合。编程的首要任务是理清逻辑关系和依赖关系,而非直接写代码,这强调了思想先行的重要性。文章进一步指出,合理的数据结构是编程的基础,而算法则是程序逻辑实现的描述,所有的算法无非是顺序、分支和循环这三种执行逻辑的组合。
书中强调编程语言只是工具,没有“会不会”的问题,只有“喜欢不喜欢”的问题。语言的选择应根据其适用范围,而非个人偏好。对于编程方法的讨论,书中提出面向过程编程涵盖了“流程”、“结构”和“编程方法”,而面向对象编程则主要解决了“结构”和“编程方法”的问题。
其中关于编程思想的重要性,让我深有感触。作为一名编程学习者,过去我常常急于上手写代码,而忽略了对问题本质和逻辑关系的深入思考,此外我也遇到了明明理论知识学习并没有落下但C语言就是长时间入不了门的问题。通过这本书,我认识到只有先理清逻辑,明确依赖关系,像整理书桌一样整理学过的理论知识,才能写出高质量的代码。这让我重新审视了自己的学习方法,开始注重编程前的思考和规划。
在项目编程经验方面,书中提出了“总体结构到面向对象,关系到数据结构,实现到算法”的方法。这种系统化的思维方式,使我在处理复杂项目时能够更加游刃有余。通过明确各个环节的重要性和关系,我能够更好地把握项目的整体进程,提高开发效率。其中对瀑布模型和层状模型的阐述,使我对软件工程的理论体系有了更深入的理解。瀑布模型将开发过程分为需求、分析、设计、开发和测试五个阶段,强调了阶段性的递进和各阶段的紧密联系。而层状模型(EHM)则将软件工程分为不同层次,强调了角色、环节和沟通的重要性。这些模型帮助我在实际开发中更好地组织和管理团队,提高项目的整体协调性。在讨论敏捷开发方法时,提到了Scott的三个关键见解:“你不必非要做一个超人”、“敏捷性只是一个思维集”和“成为一名博学型的专家”。
这些见解让我认识到,编程不仅仅是技术问题,更是思维和沟通的问题。通过与他人合作,广泛学习不同领域的知识,我能够更快地解决问题,提高自己的敏捷性。《大道至简:软件工程实践者的思想》为我提供了关于软件工程的全新视角和实践方法。书中对编程思想、数据结构、算法、软件工程模型以及敏捷开发方法的详细讲解,使我在理论和实践上都有了新的提升。

标签:编程,大道至简,模型,实践者,算法,软件工程
From: https://www.cnblogs.com/yjx0903/p/18353228

相关文章

  • 大道至简读后感
    大道至简:从复杂中寻找简单的智慧在这个世界上,我们常常被复杂的事物所包围,我们被各种各样的信息所淹没,我们被各种各样的烦恼所困扰。然而,当我们静下心来,我们会发现,许多复杂的事物,其实都有简单的本质。这就是我要分享的理念——大道至简。大道至简,首先是一种生活态度。在生活中,我......
  • 24-暑假软件工程周报(6)
    HDFS主要包括NameNode、DataNode、SecondaryNameNode,在HDFS中主要进行的是数据的存取,而在MapReduce中进行的是数据的处理。总结一下它们的过程如下:HDFS的读流程:当客户端发送读请求后,通过DistributedFileSystemAPI调用open函数,发送请求到NN节点获得block的位置信息,NN返回block的......
  • 山东青岛城市学院学院计算机软件工程毕业设计课题选题参考目录
    山东青岛城市学院学院计算机软件工程毕业设计课题选题博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台,✌️Java领域优质创作者,博客之星、掘金/华为云/阿里云等平台优质作者、专注于大学生项目实战开发、讲解和毕业答疑辅导。主要项目:小程序、SpringB......
  • 河北廊坊市燕京理工学院计算机软件工程毕业设计课题选题参考目录
    河北廊坊市燕京理工学院计算机软件工程毕业设计课题选题博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台,✌️Java领域优质创作者,博客之星、掘金/华为云/阿里云等平台优质作者、专注于大学生项目实战开发、讲解和毕业答疑辅导。主要项目:小程序、Sprin......
  • 山东青岛城市学院学院计算机软件工程毕业设计课题选题参考目录
    山东青岛城市学院学院计算机软件工程毕业设计课题选题博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台,✌️Java领域优质创作者,博客之星、掘金/华为云/阿里云等平台优质作者、专注于大学生项目实战开发、讲解和毕业答疑辅导。主要项目:小程序、SpringB......
  • 【招聘】前端软件工程师、高级前端软件工程师
    最近我们公司在招聘【前端软件工程师】和【高级前端软件工程师】两个职位,坐标上海浦东张江,有兴趣的读者欢迎扫描下方二维码了解详细信息。我们公司名为【瑞孚迪生物医学(上海)有限公司】,所招两个职位来自于公司的SignalsR&D部门,Signals是一款面向药物研发和化工领域的SaaS软件套......
  • 洛谷P8869 莲子的软件工程学之警钟长鸣
    洛谷P8869题解传送锚点摸鱼环节[传智杯#5初赛]A-莲子的软件工程学题目背景在宇宙射线的轰击下,莲子电脑里的一些她自己预定义的函数被损坏了。对于一名理科生来说,各种软件在学习和研究中是非常重要的。为了尽快恢复她电脑上的软件的正常使用,她需要尽快地重新编写这么一......
  • 5.8软件工程基础知识-项目管理
    项目管理范围管理产品范围和项目范围管理过程WBS练习题进度管理基本原则过程活动资源估算软件规模估算方法进度安排关键路径法练习题成本管理过程成本的类型练习题软件配置管理配置项配置基线配置数据库练习题质量管理过程质量模型软件评审软件容错技术练习题风险......
  • 软件工程专业导论大作业-关于华为自主研发的新编程语言基本原理其应用场景分析
    摘 要在2024年6月21日的华为开发者大会上,华为宣布了其自主研发的全新编程语言——“仓颉”。这一语言的推出旨在为其“升腾”AI芯片和云原生应用开发提供强大支持,并且有助于构建全球技术生态系统。“仓颉”编程语言特别设计以应对华为“升腾”AI芯片的需求,并且专注于硬件和......
  • 软件工程课程实习报告(仅供参考)
    一:实习内容设计与实现:实习一:Git分布式版本控制本实验的主要目的是学习和掌握Git作为版本控制工具的基本使用方法,特别是在团队协作开发中的重要性。具体目标包括:1.理解Git的基本概念和工作原理,学会安装和配置Git;2.实现本地仓库与远程仓库(推荐使用gitee或自行搭建的gitlab)......