首页 > 其他分享 >代码整洁之道--读书笔记(11)

代码整洁之道--读书笔记(11)

时间:2024-09-17 14:46:33浏览次数:10  
标签:11 结对 承诺 原则 读书笔记 -- 纪律 压力 整洁

代码整洁之道

image-20240904225436374

简介:

本书是编程大师“Bob 大叔”40余年编程生涯的心得体会的总结,讲解要成为真正专业的程序员需要具备什么样的态度,需要遵循什么样的原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来者引路,助其职业生涯迈上更高台阶。

本书适合所有程序员阅读,也可供所有想成为具备职业素养的职场人士参考。

第十一章 压力

img

想象一下灵魂出窍后的体验:你看见自己躺在一张手术台上,一位外科医生给你做开胸手术。医生竭力挽救你的性命,但是时间有限,也就是说,他的一举一动都与病人生死攸关——你命悬一线。你期望医生的表现如何?你希望他冷静、井井有条吗?你希望他清楚准确地吩咐助手吗?你希望他严格遵循当初训练时的做法坚守手术规程吗?还是想让他汗流浃背、咒骂之声不断?想让他乱扔手术器械、把东西摔得哐当响吗?想让他满腹怨气责怪管理人员设定的不现实的手术时间,一直嚷嚷时间不够用吗?

你期望他表现得像一名专业人士,还是像我们常见的某些开发人员的那种做派?即使有压力,专业开发人员也会冷静果断。尽管压力不断增大,他仍然会坚守所受的训练和纪律,他知道这些是他赖以战胜由最后期限和承诺所带来的压力感的最好方法。

1避免压力

在压力下保持冷静的最好方式,便是规避会导致压力的处境。规避的方式也许无法完全减除压力,但是可以大大降低压力并缩短高压力期的时间。

承诺:

我们应当避免对没有把握能够达成的最后期限做出承诺,这一点很重要。

业务方总是期望能够拿到这些承诺,因为他们想消除风险。我们要做的就是使风险定量化并将它们陈述给业务方,这样他们就能做好相应的准备。做不切实际的承诺会阻碍目标的实现,对公司和个人都没好处。

保持整洁

快速前进确保最后期限的方法,便是保持整洁。

让系统、代码和设计尽可能整洁,就可以避免压力。这并非是说我们要花无穷无尽的时间去清理代码,而只是说不要容忍混乱。混乱会降低速度,导致工期延误,承诺失信。因此,要尽力保持输出成果整洁干净。

在危机中坚守纪律:

选择那些你在危机时刻依然会遵循的纪律原则,并且在所有工作中都遵守这些纪律。

遵守这些纪律原则是避免陷入危机的最好途径。当困境降临时,也不要改变行为。如果你遵守的纪律原则是工作的最佳方式,那么即使是在深度危机中,也要坚决秉持这些纪律原则。

2.应对压力

不要惊慌失措:

正确应对压力。长夜漫漫无心睡眠,无助于更快地解决问题。呆坐着烦躁不安也于事无补。而你可能会犯的最严重的错误,就是鲁莽仓促!要避免产生孤注一掷的想法。鲁莽仓促只会把你带入更深的深渊。相反,要放松下来。对问题深思熟虑。努力寻找可以带来最好结果的路径,然后沿着那条路径以合理稳定的节奏前进。

沟通:

让你的团队和主管知道你正身陷困境之中。告诉他们你所制定的走出困境的最佳计划。请求他们的支援和指引。避免产生的惊恐。没有东西比惊恐更令人愤怒和失去理性。惊恐会让你的压力增大十倍。

依靠你的纪律原则:

不要惊慌失措地茫然四顾另寻依靠,而要从容不迫、专心致志地依靠你自己的纪律原则,这将帮助你更快地走出困境。(如果你遵循TDD,那么这时写的测试甚至要比平时多。如果你笃行无情的重构,这时就要更多地进行重构。如果你相信要保持函数尽量地小,这时就要让函数变得更小。战胜压力煎熬的唯一方法,便是依靠那些你已经知道切实有效的东西——你平时遵守的纪律。)

寻求帮助:

结对!当头脑发热时,找一个愿意和你一起结对编程的伙伴。你会前进得更快,而缺陷却会更少。结对伙伴会帮助你守住原则,制止你的精神错乱。搭档会捕捉住你疏忽遗漏的事情,会提出有帮助的想法,会在你注意力迷失的时候接过你手中的工作继续前进。同样地,当你看到其他人身处压力之下时,可以伸出援手,和他们结对工作,帮助他们走出困境。

3.结论

  • 应对压力的诀窍在于,能回避压力时尽可能地回避,当无法回避时则勇敢直面压力。
  • 可以通过慎重承诺、遵循自己的纪律原则、保持整洁等来回避压力。
  • 直面压力时,则要保持冷静,与别人多多沟通,坚守自己的原则纪律,并寻求他人的帮助。

标签:11,结对,承诺,原则,读书笔记,--,纪律,压力,整洁
From: https://www.cnblogs.com/TonyCode/p/18417160

相关文章

  • 为什么线程退出还要回收线程
    为什么线程退出后还需要线程回收线程的退出函数:pthread_exitintpthread_create(pthread_t*thread,constpthread_attr_t*attr,void*(*start_routine)(void*),void*arg);功能:创建一个分支线程参数1:线程号,通过参数返回,用法:在外部定义一个该类型的变量,将地......
  • 凡人歌:平凡公司的技术面试
    我们见惯了大厂刷题面试宝典,大佬们只招世界上最优秀的人新闻。我们也乐见这些金字塔顶端给大家洒下的热点鸡汤。而现实却是平凡的小公司才是主流。他们不在聚光灯下,只盘踞在各大招聘网站上。他们才是平凡人职业生涯的常住地。当你在创业初期或者长期处于中小公司,此时薪资无吸引......
  • 攻防世界 ————新手模式适合作为桌面 misc
    (本篇文章参考大佬的解题)下载附件,得到rar的的压缩包,解压缩,打开文件后有一张图片:打开图片发现什么也没有:使用软件Stegsolve打开图片看有什么问题:点击下一页:点击后发现有一个二维码:把他保存下来,使用软件扫码看看里面有什么:(我是用微信扫码的)出现了十六进制的数字:把他复......
  • 容器目录清理
    过程分析在异常节点后台使用“df-h|grepdev”命令查看磁盘使用率,发现/var/lib/docker/目录所在磁盘分区达到了70%以上。而后通过cdvar/lib/docker下执行du-sh*|grepG查看当前路径下子目录的大小,发现containers目录的占用极大。该情况下的资源利用率异常应该是日志占......
  • 安全加固
    操作系统加固:从互联网诞生之初,人们主要以网络的连通性,速率为研究目标,忽视了网络可达后造成的风险,起初一个随意的恶意程序都会导致网络瘫痪,甚至资产的流失。安全这件事,平时没有大的安全事故,大家都觉得安全不怎么关键,实际上如果网络安全受到侵犯,这种风险,以及所要承担的后果都是非......
  • 深度学习 初识学习 9.16
    什么是SVMSVM(SupportVectorMachine,支持向量机)是一种监督学习模型,用于分类和回归分析。其基本思想是找到一个超平面,使得两类样本在该超平面上的间隔最大化。这个间隔被称为“最大间隔”,而位于最大间隔边界上的样本点则被称为“支持向量”。SVM的关键概念:超平面:在n维空间中,一......
  • Win7玩游戏Ctrl和空格不能一起按的解决方案
    前几天在Windows7上玩《Minecraft》的时候,发现Ctrl和空格不能一起按,就开始研究,找到一个解决方案。首先打开控制面板,点击更改键盘或其他输入法,就会进入文本服务与输入语言。点击更改键盘,进入高级键设置选项卡,点击下面的快捷键,再点击更改按键顺序。如图,随便把快捷键改成一个你......
  • 设计模式---- 工厂模式
    工厂模式工厂模式是一种创建型设计模式,它的主要目的是将对象的创建过程与对象的使用过程分离。工厂模式通过引入工厂类或者工厂方法,隐藏对象创建的复杂性,使得代码更加灵活、可扩展。工厂模式的使用场景主要在于:当我们需要对创建的对象进行封装或延迟创建时,工厂模式是一个很好的选......
  • macOS Sequoia 15 发布,iPhone 镜像、密码应用程序、窗口平铺更新等带来全新体验
    macOSSequoia15.0(24A335)正式版ISO、IPSW、PKG下载2024年9月17日凌晨1点TimCook领导的Apple今天发布了macOS15Sequoia正式版,这是专为Mac运行的操作系统的最新版本。macOSSequoia是一个免费更新,可以在2018年及更高版本的MacBookPro、2020年及更高......
  • C语言基础
    注释代码的方式选中需要注释的代码,然后ctrl+/即可注释代码//printf("%d\n",strlen(arr));ctrl+/这个也是注释需要注释的代码在那行代码前面加//也可以注释代码//scanf("%d%d",&a,&b);//注释代码输入输出函数介绍了C语言中的标准输入输出函数,以及使用方式。scanf函数scanf......