当前位置: 首页 > article >正文

读后感:《The Clean Coder: A Code of Conduct for Professional Programmers》

这本书作者分享了自己四十多年的编程经验,一些专业的程序员如何做的更好的一些职业习惯,项目排期,测试,应对压力,团队协作等,给我印象最深刻的是最后一章,将程序员和医生进行比较:

医生们是怎么做的呢?医院会在刚毕业的学生第一天报到时就马上把他们扔进手术室里去负责心脏手术吗?当然不会。医学专业已经建立起一套严密的辅导体系,这已经成为一种传统。医学专业人士会从大学选拔候选人,确保他们拥有最好的教育。这些教育中包含有大量的课堂学习以及在医院中和专业人士一起进行的临床活动。毕业后,在获得从业资格证书前,这些新医生需要花一年时间在导师的指导下进行实践训练,这时他们被称为“实习医生”​,这段时间称为“实习期”​。这是一种密集型的在岗训练。实习医生身边一直有示范者和导师陪伴。一旦实习期结束,每名医学专业人士都要参加三到五年以上的进一步的督导实训,这段时期称为“住院实习期”​。通过和许多资深医生一起工作,在他们的督导下做更多工作,这些住院医生能够获得更大的信心。许多专业要求额外的一到三年时间的“搭档合作期”​,让这些学生接受专门的训练和督导实践,直到他们通过考试,获得从业资格。这里关于医学专业人士的描述可能有些理想化,有些地方甚至可能不太确切。但是有一点是不争的事实:人命关天之时,我们不会把这些毕业生扔进手术室,随便安排他们一些病人,然后期望能产生好的结果。那么为什么在软件行业中会这么做呢?相对而言,由软件错误引起的伤亡的确少很多。但是也曾因软件错误造成过巨大的经济损失。由于对软件开发人员培训不足,不少公司曾遭遇过巨额的经济损失。但是,在软件开发行业中已经形成一种观点,认为程序员就是程序员,一旦毕业后就肯定会编程。事实上,一些公司在雇用一些刚从学校里出来的毛头小孩后,就会立马将他们组织成“团队”​,把他们扔到关键系统的开发中,类似这样的情形屡见不鲜。这真是荒唐透顶!画家不会这么做,管道工不会这么做,电工也不会这么做。天哪,我甚至认为快餐厨师也不会这么做!在我看来,这些雇用计算机科班毕业生的公司在新员工培训上的投资,起码应该比麦当劳在服务生身上的投资要多些才对吧。我们不要自欺欺人地说这无关紧要。这很要紧。我们的文明运行在软件之上。是软件在传送和操纵我们日常生活中无处不在的信息,是软件在控制我们的汽车引擎、变速箱和刹车,是软件在维护我们的银行账户、发送账单和接收付款,是软件在帮我们洗衣服,是软件在告诉我们时间,是软件在电视上显示图片,是软件在发送短消息和拨通电话,是软件在我们疲劳时为我们带来娱乐。软件无处不在。假使我们在生活的各个方面,从最微不足道的地方到性命攸关的地方,都要极度信赖软件开发人员,那么我认为,大学毕业生在成为软件开发人员之前有一段合理的督导实训期,并不是什么不合时宜的过分建议。

越加觉得编程如果拿体育运动中的一种比较的话,和羽毛球很像,任何一个人都可以拿起来挥两拍子,经过简单的学习也能打的有模有样,但是想提高打的很好却非常的难,需要专业的教练指导,需要自己的不断地练习,需要在一次一次和高手的对决中掌握战略战术的运用


http://www.kler.cn/a/519326.html

相关文章:

  • ComfyUI实现老照片修复——AI修复老照片(ComfyUI-ReActor / ReSwapper)解决天坑问题及加速pip下载
  • 【精选】基于数据挖掘的招聘信息分析与市场需求预测系统 职位分析、求职者趋势分析 职位匹配、人才趋势、市场需求分析数据挖掘技术 职位需求分析、人才市场趋势预测
  • 速通 AI+Web3 开发技能: 免费课程+前沿洞察
  • 手撕B-树
  • 【Vim Masterclass 笔记24】S10L43 + L44:同步练习10 —— 基于 Vim 缓冲区的各类基础操作练习(含点评课)
  • Ansible入门学习之基础元素介绍
  • websocket实现
  • 【DGL系列】dgl中为graph指定CSR/COO/CSC矩阵格式
  • HTB:Support[WriteUP]
  • docker-制作镜像gcc添加jdk运行java程序
  • 2025-1-25 c++学习中关于static,初始化列表,友元函数和友元类的问题
  • 算法:模拟的巧妙演绎
  • 【MySQL】 表的操作
  • 思科交换机telnet配置案例
  • 第23篇:Python开发进阶:详解测试驱动开发(TDD)
  • ubuntu22.04 系统 A100显卡 深度学习环境配置记录
  • 嵌入式知识点总结 ARM体系与架构 专题提升(二)-ARM处理器
  • Smalltalk语言是何物?面向对象鼻祖Simula的诞生?Simula和Smalltalk有什么区别?面向对象设计?
  • 嵌入式C语言:回调函数
  • Java实现经典算法题之模拟双指针用法
  • xss靶场
  • 免费获取Photoshop及其他设计软件的使用权限
  • FastExcel的使用
  • STM32项目分享:智能语音台灯
  • 视频网站服务器为什么需要使用负载均衡?
  • Lsky-Pro在线图片搭建教程(Docker部署方式)