首页 > 其他分享 >梦断代码读后感(三)

梦断代码读后感(三)

时间:2023-04-30 21:55:45浏览次数:37  
标签:读后感 沟通 代码 编程 软件工程 软件 梦断

《软件工程》教员课上推荐梦断代码作为课后读物,在大致浏览了一遍读物之后,结合半个学期以来软件课程的亲身实践,感触颇深。

   《梦断代码》中对软件工程所面临的种种困难与艰难的描述,很符合当下编程工作,自己对于软件编程也有切身感受。正如一队人马并肩扛起代码大石,虽历经磨难仍欲将其推上山顶的故事。正是这种磨砺与艰难的爬山过坎,成就了各种各样的运行的软件,构成了一个五彩缤纷的虚拟世界。

自身对于何为软件,何为代码仅有一些肤浅的认识,半学期下来,编程能力也有了较大的提高。但是其中的痛苦和艰辛,也很值得自己去慢慢的回味。

书中描述一群人们怀抱着改变世界的理想上路了,却在追寻时发现,那些近在眼前的理想之峰,变得那么的遥不可及;每当翻过一座横亘在面前的山峰时,总以为已经来到理想之峰的脚下,却发现这又是另一座需要攀越克服的阻隔之峰。

    在我编写计算函数以及嵌入游戏主程序时,总感觉思路简单,逻辑可行,操作方便。但是一到具体编程,调试程序时便抓耳挠腮,无从下手。特别是遇到bug的时候,总感觉自己是对的,跳不出错误的怪圈。软件开发过程有时就是这样的一种体验,目标看是唾手可得,却又总是在你伸手摘取时,发现还有一段距离要走,问题随着开发的深入而不断涌现;这就像是坐在大象背上的训象师,用吊在大象鼻子前的香蕉,给大象耍的把戏。

     是什么原因,导致软件开发有时会进入这样一个令人惋叹的黑洞?

     书的作者没有,也不可能给我们一个答案,但通过作者忠实记录于书的、就发生在当下不久的、这一真实案例,以及对软件开发历史和方法的部分介绍,本书应当能带给我们很多有益的启示和思考。

    为什么软件如此难做?这是我本人,我想也是很多人都在苦苦思索的一个问题,虽然无人能有完全确定的答案,但通过书中的记述,和个人思考,还是可以获得一些启示,其本质还是主要在于沟通:

     一是计算机严格的逻辑性和精确性。同人类不严密的逻辑,模糊多变的思维模式之间的矛盾,造成的人与机器之间沟通的障碍。

     二是项目目标不明确,标靶变来变去,因此有时决定说什么,比怎么说更困难。

     三是项目目标不切实际,从一开始就想做一个适合所有人的,能做所有事的系统,造成就如要做永动机一样的结局。

     我想人们大多都知道古老圣经中巴别塔的寓言,软件工程难于成功的原因,也许就蕴藏在这寓言启示之中,本质上在于沟通的问题。软件使用者与软件的沟通,软件需求者与开发者的沟通,程序员与程序员的沟通,程序员与机器的沟通。

     所有这些层层累叠起来,构筑了一道道通往成功彼岸的屏障。

     也许有一天所有这些沟通的障碍都能被消除,人们能轻易的相互理解,软件工程的巴别塔真的就能轻易的建造起来了。

标签:读后感,沟通,代码,编程,软件工程,软件,梦断
From: https://www.cnblogs.com/laohei114514/p/17365834.html

相关文章

  • 使用 SpringCache 简化缓存代码实现
    SpriingCache实现了基于注解的缓存功能,只需要在方法上添加注解即可实现常用的缓存功能,大大简化了的业务代码的实现。SpringCache默认集成于SpringContext中,这意味着对于使用SpringBoot框架来说,不需要引入额外的jar包即可使用。SpringCache通过CacheManager接口来统一......
  • springboot mybatis-plus 3.5.1代码生成器配置
    springbootmybatis-plus3.5.1代码生成器配置https://blog.csdn.net/Lean_on_Me/article/details/128066822  ......
  • 四月三十日《梦断代码》读后感
    梦断代码书中描写的是一队人马并肩扛起代码大石,虽历经磨难仍欲将其推上山顶的故事,而正是这种故事成就着今天全世界亿万台服务器和PC机上运行的各种软件,成就着人类不断超越实现更伟大的梦想。梦断代码这本书让我越发意识到作为软件开发者的不容易。程序员都怀揣着成就一番事业的......
  • 【无人机三维路径规划】基于多元宇宙算法实现多无人机避障航迹规划附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 【无人机三维路径规划】基于人工势场算法实现球体障碍下无人机三维路径规划附matlab代
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 【路径规划-机器人栅格地图】基于遗传算法求解光伏实验室小车路径规划附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 【密码】量子密钥分发密钥率仿真附MATLAB代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 《代码大全》阅读笔记
    做任何事情都需要前期准备,在软件开发中更是如此,尽管如此,还是有很多程序员接到任务后就是想着尽快编码,很多老板不重视软件开发的前期准备。要想保证一个软件的质量,在前期准备,需求分析,架构设计,编码,测试,维护等每一个环节都要重视质量。具体程序员接到任务的时候要检查一下在你之前的......
  • 《代码大全2》阅读笔记05
    第八章在我过去的编程经验中,我经常写出复杂且难以维护的函数。我经常尝试在一个函数中实现太多的功能,导致函数代码的复杂度极高,可读性和可维护性都很差。通过阅读这一章,我认识到函数的设计和实现对代码的质量和可维护性至关重要。作者提到,高质量的函数应该具有以下特征:简单、短......
  • 《用户故事与敏捷方法》读后感
    什么是敏捷敏捷:一种面临迅速变化的需求快速开发的能力敏捷的优势降低项目风险缩短反馈周期减少误解(沟通)降低修正错误的代价确保正确的方向可用的软件用户验证适应变化敏捷的4个核心思想人和相互交流胜于流程和工具(面对面沟通)可以运行的产品胜于编制综合性文档(精力放在......