首页 > 其他分享 >构建之法读后感

构建之法读后感

时间:2024-02-11 16:22:39浏览次数:25  
标签:读后感 一个 编程 学习 软件工程 构建 软件 团队

  寒假在家按主任要求读了邹欣老师的《构建之法》一本书,对于软件工程又有了新的认识

  寒假在家也经常被亲戚朋友问:“你学的什么专业啊?”“软件工程是不是都会写软件,你会写一个什么什么的软件啊?”这种话,每遇到这种问题也只好笑笑而过,在这个问题当中就隐藏着两个个普通人对软件工程的误区,软件中团体与个人之间的关系、软件与程序之间的区别。从构建之法目录来看,只有第2章和第3章是在讲个人的一些发展和成长的一些方面,其余的章节都在讲两人以上团队当中我们应该做什么或者说怎样以个人软件工程师的身份为团队去做出贡献,对于这个问题当中有两个变量:一个是个人,一个是团队。千人千面,软件工程师也是如此,每个人的学习经历,开发技巧编程经验乃至于性格都不一样,你有你的代码风格,我有我的编程规范,那么对于多人同时开发一个软件来说,每个人可能负责不同的功能部分,如果没有统一的规范,最后组成的程序就好像一个房间同时结合了中式风格,田园风格,美式风格和北欧风格,那么想必然没有人愿意入住这样的一个房间。对于程序来说更是如此,一个程序除了开发之外最多的是维护,如果代码歪七扭八,团队之间毫无配合,那么程序开发必然是一件难事,但如果恰好相反每个人遵守着相同的代码规范,团队之间相互理解配合,那么无论是在开发时的调试阶段和运营时的维护阶段,都会使相应的调试时间成本大大减少。所以说如果一个人编程水平高超,掌握所有算法,但是不会团队协作,想必不能称之为软件工程师,相对于这样的一个人在工作时,团队可能更愿意录用一个愿意合作的编程小白。

  第二点就是程序与软件之间的区别,这个问题在我学习一些编程语言做题的时候深有体会,在学习阶段留的一些故意***难的题,在当时我觉得哦,这样的题写出来怎么可能称之为软件。在书中对软件给出了定义:软件=程序+软件工程,那么软件工程就显得尤为重要。软件工程是什么?书中指出:

软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。
软件工程包括下列领域:软件需求分析、软件设计、软件构建、软件测试和软件维护。
软件工程和下列的学科相关:计算机科学、计算机工程、管理学、数学、项目管理学、质量管
理、软件人体工学、系统工程、工业设计和用户体验设计。

  所以软件工程也并不是简单的软件的开发,更多的是从软件的需求分析设计阶段再到整个软件的生命周期还有对用户的反应去不断改进这样的一个长期化的一个过程。在第7章实战中的软件工程当中介绍了微软解决方案框架(Microsoft Solution Framework,MSF),这套框架的9条基本原则我觉得对软件工程来说是一个非常值得去学习的解决方案,具体条目不再细说,里面的各项条目充分考虑了软件工程的团队合作或是软件运营的方方面面。至于后续一些章节还有对IT行业和软件企业的一些思考,对于我一个还处于学习阶段的学生来说,可能并没有太多实感,但是对于我所想的未来来说,还是希望软件工程师能够更加有活力一点,能够脱离那种古板码字程序员的标签。

  在后续的学习中,除了要精进自己的理论技术之外,还希望自己能够多多尝试多多编程,最后能够小有所成吧

 

原则8 自身
软件工程师应当终生学习以提高自身的专业水平,并在工作实践中推动落实道德准则。

标签:读后感,一个,编程,学习,软件工程,构建,软件,团队
From: https://www.cnblogs.com/qmz-znv2/p/18013323

相关文章

  • 使用 Makefile 进行项目管理和构建
    使用Makefile进行项目管理和构建来源  https://zhuanlan.zhihu.com/p/661285050 什么是Makefile?Makefile可以简单的认为是一个工程文件的编译规则,描述了整个工程的编译和链接等规则。其中包含了那些文件需要编译,那些文件不需要编译,那些文件需要先编译,那些文件需要后编译......
  • CMake构建Makefile解析
    CMake构建Makefile解析来源 https://zhuanlan.zhihu.com/p/661284197 一、CMake构建后的项目结构解析(AnalysisoftheProjectStructureAfterCMakeBuild)1.1CMake构建后的目录结构(DirectoryStructureAfterCMakeBuild)CMake构建完成后,会在项目的根目录下生成一个名为......
  • Asp-Net-Core学习笔记:5.构建和部署
    从上次开始学习Asp.NetCore以来,一直都是玩一玩,还没有什么机会用来实战,最近单位有个新的小项目,于是我用Asp.NetCore来尝尝新,结果也是非常OK,熟悉之后开发效率感觉和Django基本没差。那么进入正题,本文简单说说Asp.NetCore应用的构建和部署。构建构建是使用build命令,不过一般我......
  • 动手构建大语言模型
    1.5动手构建大语言模型:LLMs-from-scratch主语言:JupyterNotebook,Star:8.3k,周增长:5.3k这是一本讲述如何从头制作一个类似ChatGPT的大语言模型的书,它介绍了LLMs的工作原理,并教你如何创建自己的LLM,内含丰富的图示和代码示例,目前该书还在编写中未完结。GitHub地址→github.......
  • 构建简单物体
    一.前言我们的空气曲棍球游戏已经取得了很大的进展,桌子已经放到了一个很好的角度,并且由于使用了纹理,更加好看了。然而,我们现在是用的点去代替木槌,它们实际看起来还不像木槌,许多应用都是通过合并简单的物体去构建更复杂的物体,我们在这篇文章中将学会如何绘制木槌以及桌子中间......
  • Maven3.9.6 构建项目报错 Failed to execute goal org.apache.maven.plugins:maven-re
    在使用Maven3.9.6构建项目时,出现以下错误:[INFO][INFO]---resources:3.3.1:resources(default-resources)@service-sample---[INFO]Copying18resourcesfromsrc/main/javatotarget/classes[INFO]Copying15resourcesfromsrc/main/resourcestotarget/classes[IN......
  • Hive:构建于 Hadoop 之上、让你像写 SQL 一样编写 MapReduce 程序
    Hive介绍本次我们来聊一聊Hive,它是由Facebook开源的一款基于Hadoop的数据仓库工具,用于解决海量结构化日志的数据统计与分析。Hive通过将结构化的数据映射为一张表,并提供类SQL查询功能,让开发人员能够编写SQL进行数据分析。在介绍Hadoop的时候我们说过,使用MapReduce......
  • 《程序是怎样跑起来的》第五章读后感
    读完第五章后,我对程序的控制流程有了更清晰的认识。这一章主要介绍了程序中的条件判断和循环结构,以及它们如何影响程序的执行。我了解到条件判断语句(如if-else)和循环语句(如for、while)是控制程序逻辑的重要工具。它们允许程序根据不同的条件执行不同的操作,或者重复执行特定的代......
  • 索引构建磁盘IO太高,巧用tmpfs让内存来帮忙
    在文本索引构建这种需要大量占用磁盘IO的任务,如果正巧你的内存还有点余粮,是否可以先索引存储到内存,然后再顺序写入到磁盘呢?,需要大量占用磁盘IO,如果正巧你的内存还有点余粮,是否可以先索引存储到内存,然后再顺序写入到磁盘呢?将Linux的内存变为磁盘,可以通过tmpfs文件系统实现。tmpf......
  • 系统科学方法概论第三章读后感
    《系统科学方法概论》是常绍舜教授的一部力作,它为我们打开了一扇通往系统科学智慧的大门。在阅读这本书的过程中,我深感其独特的魅力,特别是第三章的阐述,它使我对系统科学方法有了更为深刻的认识。第三章的主题聚焦于系统科学方法及其应用领域。作者详细阐述了系统科学方法的理论......