首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

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

编程知识
2024年09月17日 13:45

代码整洁之道

image-20240904225436374

简介:

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

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

第十一章 压力

img

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

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

1避免压力

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

承诺:

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

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

保持整洁

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

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

在危机中坚守纪律:

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

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

2.应对压力

不要惊慌失措:

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

沟通:

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

依靠你的纪律原则:

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

寻求帮助:

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

3.结论

  • 应对压力的诀窍在于,能回避压力时尽可能地回避,当无法回避时则勇敢直面压力。
  • 可以通过慎重承诺、遵循自己的纪律原则、保持整洁等来回避压力。
  • 直面压力时,则要保持冷静,与别人多多沟通,坚守自己的原则纪律,并寻求他人的帮助。
From:https://www.cnblogs.com/TonyCode/p/18417160
本文地址: http://www.shuzixingkong.net/article/2078
0评论
提交 加载更多评论
其他文章 反DDD模式之关系型数据库
本文书接上回《图穷匕见-所有反DDD模式都是垃圾》,关注公众号(老肖想当外语大佬)获取信息: 最新文章更新; DDD框架源码(.NET、Java双平台); 加群畅聊,建模分析、技术实现交流; 视频和直播在B站。 背景 我在与开发者交流关于DDD的建模思路时,往往会遇到一个难题,就是不少经验丰富的开发
反DDD模式之关系型数据库 反DDD模式之关系型数据库 反DDD模式之关系型数据库
Nuxt Kit 中的页面和路由管理
title: Nuxt Kit 中的页面和路由管理 date: 2024/9/17 updated: 2024/9/17 author: cmdragon excerpt: 摘要:本文介绍了Nuxt Kit中页面和路由管理的高级功能,包括extendPages自定义页面路由、extendRouteR
Nuxt Kit 中的页面和路由管理 Nuxt Kit 中的页面和路由管理
Go runtime 调度器精讲(十一):总览全局
原创文章,欢迎转载,转载请注明出处,谢谢。 0. 前言 前面用了十讲介绍了 Go runtime 调度器,这一讲结合一些图在总览下 Go runtime 调度器。 1. 状态转换图 首先是 Goroutine 的状态转换图: 大部分转移路径前面几讲也介绍过,这里就不继续介绍了(下同)。 接着是 P
Go runtime 调度器精讲(十一):总览全局 Go runtime 调度器精讲(十一):总览全局 Go runtime 调度器精讲(十一):总览全局
C++11 线程同步接口std::condition_variable和std::future的简单使用
std::condition_variable 条件变量std::condition_variable有wait和notify接口用于线程间的同步。如下图所示,Thread 2阻塞在wait接口,Thread 1通过notify接口通知Thread 2继续执行。 具体参见示例代码: #include
C++11 线程同步接口std::condition_variable和std::future的简单使用 C++11 线程同步接口std::condition_variable和std::future的简单使用 C++11 线程同步接口std::condition_variable和std::future的简单使用
Blazor静态服务端呈现(静态SSR)身份认证
本文介绍 Blazor 静态服务端呈现(静态 SSR)模式下,用户登录身份认证是如何实现的。 1. SSR 简介 SSR 是服务器侧呈现,HTML 是由服务器上的 ASP.NET Core 运行时生成,通过网络发送到客户端,供客户端的浏览器显示。SSR 分两种类型: 静态 SSR:服务器生成静态 H
浮点数的比较
浮点数与"零值" 精度损失: 浮点值与实际值不等,可能偏大可能偏小,都属于精度损失 验证浮点数是否存在精度损失 验证浮点数的差值是否存在精度损失 浮点数直接比较验证 结论: 浮点数在进行比较时,绝对不能使用双等号==来进行比较. 浮点数本身有精度损失,进而导致结果可能有细微的差别
浮点数的比较 浮点数的比较 浮点数的比较
C++面试题整理 2
8. C++11新特性又哪些 自动类型推导auto,智能指指针(share_ptr,unique_ptr等),for循环简化,线程相关的(std::thread/std::mutex),空指针nullptr,lambda表达式,等等 9. share_ptr是线程安全的吗 share_ptr里包含引
如何优雅地处理返回值
我们已经知道了如何优雅的校验传入的参数了,那么后端服务器如何实现把数据返回给前端呢? 返回格式 后端返回给前端我们一般用 JSON 体方式,定义如下: { #返回状态码 code:string, #返回信息描述 message:string, #返回值 data:object } CODE 状态码
如何优雅地处理返回值